JavaScript之——对象Object(一)
1. 新建对象、删除和访问:
(1).新建
var obj1 = {b: 2}; //对象文本表示法
var obj2 = new Object();
obj2.a = 1;
(2).访问
//第一种:
obj1.b
//第二种:
obj1[b]
第一种:在属性名确定的时候使用;(建议使用这种)
第二种:在属性名不确定的时候使用;
(3).删除
var obj = {
a: 1
}
console.log( obj.a ); //1
**delete obj.a;** //删除操作
console.log( obj.a ); //undefined
:delete操作仅对对象有作用
2. 对象中的this
var obj = {
a: 1,
b: function(){
console.log( this.a ); //输出 1
setTimeOut(function(){
console.log( this.a ) //这时候的this指向全局对象
},100);
}
};
:对象中的this指向对象本身,
3. 构造器属性constructor
function Fn(s){
this.a = s;
}
var obj = new Fn(10);
console.log( obj.constructor );
//输出: function Fn(s){this.a = s;}
:指向用于创建该对象的函数构造器的引用。
4. instanceof操作符
function Fn(s){
this.a = s;
}
var obj = new Fn(10);
console.log( obj instanceof Fn ); //输出:true
:obj是否由Fn构造。
- 返回对象的函数
function Fn(){
this.a = 10;
return {
a: 20
}
}
var obj = new Fn();
console.log( obj.a ); //输出 20
:当return为对象时,返回的是对象;当return为非对象时,构造器会照常返回this
即:
function Fn(){
this.a = 10;
return 1;
}
var obj = new Fn();
console.log( obj.a ); //输出 10
6. 比较对象
:当且仅当2对象的引用指向同一个对象时,返回为true;否则为false(即使内容一样也为false)