define highlight 导致 数字 eof null nan 求值
var
声明一个变量,可选择将其初始化为一个值
let
声明一个块作用域的局部变量,可选择将其初始化为一个值
const
声明一个只读的常量
变量
一个JS标识符必须以字母、下划线或者美元符号开头;后续的字符可以是数字,
而且JS语言区分大小写
声明变量
1.使用关键词var。例如var a=1,这个语法可以用来声明局部变量和全局变量
2.直接赋值。例如,x=1。这样就会声明一个全局变量并会在严格模式下产生一个
ReferenceError引用错误,表明一个不存在的变量被引用。声明变量时不应该用这种方式
3.使用关键词let。例如let y=2。这个语法可以用来声明块作用域的局部变量
变量求值
用var或let声明的且未赋值的变量,值会被设定为undifined。
试图访问一个未声明的变量或者访问一个使用let声明的但未初始化的变量会导致一个ReferenceError
异常被抛出
可以使用undefined来判断变量是否已赋值
- var x;
- if (x === undefined) {
- doThis();
- } else {
- doThat();
- }
undefined值相当于布尔值的false
- var x;
- if (!x) {
- myFunction();
- }
数值环境中undefined值会被转换为NaN
- var x;
- a+2 //NaN
对一个null变量求值时,空值null在数值类型环境下会被当作0来对待,布尔类型环境中会被当作false
- var n=null;
- typeof(n); //object
变量的作用域
在所有函数之外声明的变量叫做全局变量
JavaScript语法和类型
来源: http://www.bubuko.com/infodetail-2285845.html