变量命名规则:
-
由字母、数字、下划线、$符号组成,不能以数字开头
-
不能是关键字和保留字,例如:for、while。
-
区分大小写
简单数据类型:Number、String、Boolean、Undefined、Null
复杂数据类型:object(function、Array、Date)
NaN 与任何值都不相等,包括他本身
字符串拼接:
-
+ 就是字符串拼接功能(1+abc //"1abc"; 1+"2" //"12" ; 1+2 //3;1+true //2 ; 1+false //1 ; 1+[6] //"61" ; 1+{} //[object Object]1 ; 1+undefine //NaN)
-
两边如果都是数字,那么就是算术功能。
- - 字符串功能 ("2"-1//1 ; “as”-1//NaN; []-1//-1 ;)
-
undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined
-
null表示一个空,变量的值如果想为null,必须手动设置
变量类型获取
typeof: 一般只能返回如下几个结果:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。
运算数为数字 typeof(x) = "number"
字符串 typeof(x) = "string"
布尔值 typeof(x) = "boolean"
对象,数组和null typeof(x) = "object"
函数 typeof(x) = "function"
未定义或未附值变量 type(x) = undefine
转换为true 非空字符串 非0数字 true 任何对象
转换成false 空字符串 0 false null undefined
continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)
-
把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。
-
把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。
-
先提升var,在提升function
1. 函数在定义的时候this是不确定的,只有在调用的时候才可以确定
2. 一般函数直接执行,内部this指向全局window
3. 函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象
4. 构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身上,后续通过new关键字来调用,从而实现实例化