一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情。
一。 什么是JavaScript :
JavaScript是一种基于对象和事件驱动的脚本语言
1。JavaScript特点
交互、脚本语言、解释性语言,边执行边解释
2。JavaScript组成
①。ecmascript(规范)
ECMAScript是一种语法标准 语法、变量和数据类型、运算符、逻辑控制语句、关键字、保留字、对象 编码遵循ECMAScript标准
②。bom(浏览器对象)
BOM:Browser Object Model(浏览器对象模型) 提供了独立于内容与浏览器窗口进行交互的对象
③。dom(元素对象)
DOM:Document Object Model(文档对象模型) 是HTML文档对象模型(HTML DOM)定义的一套标准方法,用来访问和操纵HTML文档
-
script>…< /script>可以包含在文档中的任何地方, ★只要保证这些代码在被使用前已读取并加载到内存即可
①。 加入样式*/ document.write('
今天天气很好
')
②。外部引入式
③。 直接在html中使用js
★使用按钮点击 执行document.write 会把页面上其他的内容覆盖
<input type="button" value="点我看看
onclick="javascript:document.write('什么也没有')">
alert('输入弹出的内容') 弹出框
<input type="button" value="点开" onclick="javascript:alert('欢迎光临')">
4.js的核心语法:
①。变量
先声明变量再赋值 声明变量要使用关键字var
var width;
width = 100;
alert(width);
同时声明和赋值变量
var width = 100;
document.write(width)
同时声明和赋值,只有最后一个可以被赋值,前面的变量为初始值undefinedvar
<script>
var width,height=100;
document.write(width)
</script>
<script>
var width,height=100;
document.write(height)
</script>
不声明直接赋值 ★ 会把width变量变成全局变量
<script>
width=100;
document.write(width);
</script>
②。 数据类型
undefined
变量age没有初始值,将被赋予undefined
<script>
var age;
document.write(typeof age);
</script>
null 表示一个空值,与undefined值相等
typeof null ==> object(历史遗留问题) ==表示比较值是否相等
<script>
var age = null;
document.write(age);
</script>
<script>
var age = null;
document.write(typeof null);
</script>
number 数字类型
<script>
var score1 = 90;
var score2 = 88.6;
document.write(typeof score1)
document.write(typeof score2)
</script>
bollean 布尔型:true和false
<script>
let score1 = 1;
let score2 = 2;
document.write(score1==score2);
</script>
<script>
let score1 = 2;
let score2 = 2;
document.write(score1==score2);
</script>
<script>
var flag = true;
var flag2 = false;
document.write( typeof(flag2) )
</script>
string 字符串类型
被引号(单引号或双引号)括起来的文本
<script>
var string1 = 'abc'
var string2 = 'def'
document.write(typeof string1)
</script>
<script>
var string1 = 'abc'
var string2 = 'def'
document.write(typeof string2)
</script>
es6新增了一个类型 symbol 一个独一无二的数(不和任何数相等 除非是他自己)
<script>
let a = Symbol(123);
let b = Symbol(123);
document.write(a == b)
</script>
<script>
let a = Symbol(123);
let b = Symbol(123);
document.write(a == a)
</script>
object 对象类型
<script>
var obj={};
document.write(typeof obj)
</script>
练习一
<script>
var width,height=100,name="summer"
document.write('width:'+typeof(width)+'<br>')
document.write('height:'+typeof(height)+'<br>')
document.write('name:'+typeof(name)+'<br>')
document.write('true:'+typeof(true)+'<br>')
document.write('null:'+typeof(null)+'<br>')
document.write('undefined:'+typeof(undefined)+'<br>')
</script>
③。运算符号
两个都是数字型
<script>
var num1=2;
var num2=3;
document.write(num1+num2);
</script>
一个数是数字类型 另外一个数是字符串类型 这种情况相加 +号 代表拼接,num1会进行隐式数据类型转换 转换成字符串类型 和字符串'2' 进行拼接
<script>
var num1='2';
var num2=3;
document.write(num1+num2);
</script>
除了加号之外,其他算法都是正常运算
<script>
var num1 = 5;
num1++;
document.write(num1)
</script>
等同于 num1 = num1 + 1; 计算顺序是从右到左
<script>
var num1 = 6;
var num2= num1++;
document.write(num2)
</script>
是num1本身
<script>
var num1 = 6;
var num2= ++num1;
document.write(num2)
</script>
等同于 ★ 先+1,再赋值
<script>
var num1 = 6;
num1--
document.write(num1)
</script>
<script>
var num1 = 6;
num2 = num1--
document.write(num2)
</script>
等于本身
<script>
var num1 = 6;
var num2= --num1;
document.write(num2)
</script>
先减1再赋值
练习二。
<script>
var x=50;
document.write('x的值为:'+x+'<br>')
var y=x+10;
document.write('y的值为:'+y+'<br>')
var z=x-8;
document.write('z的值为:'+z+'<br>')
var m=x*5;
document.write('m的值为:'+m+'<br>')
var n=x/6;
document.write('n的值为:'+n+'<br>')
var k=x%6;
document.write('k的值为:'+k+'<br>')
var i=10;
i++;
document.write('i的值为:'+i+'<br>')
var j=10;
j--;
document.write('j的值为:'+j+'<br>')
</script>