JavaScript之——对象Object(一)

来源:互联网 发布:提升搜狗关键词优化 编辑:程序博客网 时间:2024/06/07 20:50

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)