JavaScript_6
Object类型:
- 通过内置Object类型的构造函数创建
- 通过对象字面量实现对象的创建
//构造函数 var obj=new Object(); obj.name="tom"; obj.age=23; alert(obj.name);//tom alert(obj.age);//23
//对象字面量 var obj={}; obj.name="tom"; obj.age=23; alert(obj.name);//tom alert(obj.age);//23 var obj={ name:"tom", age:23 }; alert(obj.name);//tom alert(obj.age);//23
var obj={ name:"tom", age:23, sayHello:function(){ alert("hello"); } }; obj.sayHello();
this:
- 函数中的this关键字获取值时根据执行对象不同,返回值不同
- 在全局作用域中,调用的是全局变量
- 在对象中,调用的对象中的变量
var color="red"; var box={ color:"blue", showColor:showColor }; function showColor(){ alert(this.color); } showColor();//red 调用全局变量 box.showColor();//blue 调用对象中的变量
- 闭包与this
//闭包1 var name="outer"; var obj={ name:"inner", sayName:function(){ return function(){ return this.name; }; } }; alert(obj.sayName()()); /*outer obj.sayName()等价于获取 *function(){ * return this.name; *} *再执行,调用的是全局变量 */
//闭包2 var name="outer"; var obj={ name:"inner", sayName:function(){ var t=this; return function(){ return t.name; }; } }; alert(obj.sayName()()); /*inner obj.sayName()等价于获取 *function(){ * return t.name; *} *但是t指的是obj对象 *再执行,调用的是obj中的name */
总结:
- Object,JS中对象的创建
- this的使用