JS变量
JS变量ES5之前有6种类型,number,string,boolean,function,object,undefined,ES6又加了一种Symbol。
JS的解释器工作机制是“先解析,后运行”,什么意思呢?即可以先使用变量在定义,如下:
a += 6; var a = 0;
if(!obj){
var obj = {}
}
JS对象
JS对象的样子其实就是一个类似于JSON格式的值,如下:
var person = { name:"li", sex:"男" }
这就是定义一个简单对象,若生成多个对象这样写会闲的冗余,再加上对象属性比较多的情况时,可以使用函数,推荐使用构造函数。
构造函数
构造函数跟普通函数类似,但为了区分,最好首字母大写,如下:
function Person(name,sex){ this.name = name; this.sex = sex }
this关键字在这里指明是用Person构造函数生成的实例对象,为此实例赋值。
this关键字
this关键字是指向函数运行时所处的环境,如下:
var x= 1; function f(){ console.log(this.x) } var obj = { x = 3; } obj.f() ; //输出3 f(); //输出1
obj调用时f所处于obj下,所以使用obj的 x属性。
单独调用f时,处于全局环境下,所以输出1。