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构造

  1. 返回对象的函数
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)

posted @ 2017-12-11 11:29  DaivdAndLemon  阅读(116)  评论(0编辑  收藏  举报