最近在看清华大学出版社的《JavaScript从入门到精通》,做一些摘取。
一、数据结构
1.
标识符: 用来命名变量和函数,以字母、下划线或美元符号,后面的字符可以是数字。
2.
关键字: 和Java关键字集合相似
3.
常量: 定义方法为 const name:type=value
4.
变量: 命名必须以字母和下划线开头,中间是数字、字母和下划线,不能包含空格和加减号等符号,严格区分大小写。用“var”声明。
二、数据类型
1.
数字型(number): JavaSrcipt不区分整形和浮点类型,所有的数字都是由64位浮点类型表示的。
2.
字符串型(String):可以有单引号或双引号界定,单引号和双引号可以互相含有,如果引号内含有自身的话 要用转义符。
3.
布尔型(boolean): true转换为1,false转换为0。
4.
特殊数据类型
转义符:\b(退格);\v(跳格);\n(回车换行);\r(换行);\t(Tab);\\(反斜杠);\f(换页);\'(单引号);\"(双引号);\OOO(八进制);\xHH(十六进制);\uhhhh(十六进制的Unicode字符)
未定义值:undefined为未赋值;NaN意为“非数字”,当程序出错时产生的无意义的数字。
空值:null
三、运算符
1.
算数运算符:+、-、*、/、%、++、--
2.
比较运算符:<、>、<=、>=、==、===(绝对等于,包括数据类型)、!=、!==(不绝对等于)
3.
赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=(异或)
4.
逻辑运算符:!、&、|、^、||
5.
条件运算符:操作数?结果1:结果2
6.
其他运算符:位操作(<<、>>、>>>);typeof(返回字符串,值有:number,string,boolean,object,function,undefined);new(创建对象)
7.
运算符优先级:参考java运算符优先级
四、表达式
表达式为一个语句集合,计算结果是一个单一的值,该结果被JavaScript归入boolean,number,string,function,object。
如:x=2 这个表达式的值为2。
五、数据类型的转换规则
JavaScript是一种无类型语言,在代码执行红会根据需要进行自动类型转换。
转换为数值类型
:
类型 |
转换结果 |
undefined |
NaN |
null |
0 |
boolean |
true=1,false=0 |
string |
内容为数字即数字,否则为NaN |
其他 |
NaN |
转换为逻辑类型
:
类型 |
转换结果 |
undefined |
false |
null |
false |
number |
值为0或NaN时为false,否则为true |
string |
长度为0为false,否则为true |
其他 |
true |
转换为字符串类型
:
类型 |
转换结果 |
undefined |
"undefined" |
null |
"NaN" |
number |
NaN、0、或其自身字符串 |
boolean |
"true"、"false" |
其他 |
若存在,为toString()的值,否则为"undefined" |