- 语法特点
1.字母大小写敏感
2.定义的字符串要用单双引号引起来
3.每一条语句要以分号结尾
- 命名规范
1.要以字母开头
2.多个单词要以驼峰命名法,例如:fontSize
3.包含字母、数字,_,$
- 注释
//单行注释
/*多行注释*/
- 写作
写在<script>标签里,js可以放在任何地方,最好放在body下面
对话框
1.alert()提示框
2.confirm()询问框
3.prompt()输入框
定义变量
var 弱类型
var a=12; var b="acd"; var c=true
数据类型
基本数据类型:数字(number),字符串(string),布尔(boolean),null,undefined
null: 对象(引用型变量)空
undefinded: 标量 空
数据类型: 数字(number),字符串(string),布尔(boolean),null,undefined, 对象(Object)
typeof验证类型
数字(number),字符串(string),布尔(boolean),null,对象(Object),function
为什么typeof验证null是Object?
在计算机里存储的都是二进制,例如:000表示对象,001表示整数,010表示浮点数
100表示字符串,110表示布尔,null则全是0
所以,type验证前三位是0的,则表示为对象,没有读取null后面的剩余值。
过程:
000 表示对象,1111 1000 , 0001 0000
001 表示整数,
010 表示浮点数
100 表示字符串,
110 表示布尔,
null则全是0 8个0 0000 0000
运算符
基本运算符
+加 -减 *乘 /除 %取余
赋值运算符
= += -= *= /= %= ++加1 --减1
a=a+b => a+=b
写作简单,可以直接转化数字类型,计算机速度快
前++和后++区别
++i 前++先自身加1,后参与其他运算; i++后++先参与其他运算,后自身加1
比较运算符
== === != !== < > >= <=
==比较值是否相同,===比较类型是否相同(先看类型后看值)
逻辑运算符
&&并且 ||或者 !非
布尔操作符的运算方式
逻辑非
如果操作是一个对象,返回false
如果操作是一个空字符串,返回true
如果操作是一个非空字符串,返回false
如果操作是一个数字0,返回true
如果操作是一个非0数字(包括Infinity),返回false
如果操作是一个null,返回true
如果操作是一个undefined,返回true
如果操作是一个NaN,返回true
逻辑与
如果第一个操作是一个对象,返回第二个操作数
如果第二个操作是一个对象,只有第一个操作结构为true情况下,才返回对象
如果前后都是对象,则返回第二个对象
如果第一个操作是null,则返回null
如果第一个操作是undefined,则返回undefined
如果第一个操作是NaN,则返回NaN
逻辑或
如果第一个操作是一个对象,返回第一个操作数
只有第一个操作结构为false情况下,才返回第二个
如果前后都是对象,则返回第一个对象
如果前后都是null,则返回null
如果前后都是undefined,则返回undefined
如果前后都是NaN,则返回NaN