JavaScript入门基础--对象

JavaScript入门基础--对象


1.对象也是变量,但对象可以包含多个值(多个变量)

  对象属性:键值对 name :  value,对象的属性是无序的


2.创建对象

  ① var obj = { x : 1, y : 1} ; 

  ②new/原型链 :  function foo(){}

                                 var obj = new foo();


3.属性操作

例1: var obj = { x : 1, y : 2};

读: obj.x

         obj ["y"]

增:obj.z = 3;

删:delete obj.x

        delete obj [" y " ]

 注:obj.prototype是不能被删除的

         全局变量,局部变量,全局函数,局部函数 大多情况下都是不可以被 delete的

查:获取一个属性中的所有标签

     var desc = Object.getOwnPropertyDescriptor ( Object , ' prototype ');  

//Object:查看的对象, prototypr:要检测的属性

      desc.configurable; //是否可配置,返回false或true

4.属性检测

例2:var cat = new Object;

          cat.legs = 4;

         cat.name = " kitty ";

 in: 会(原型链)向上 查找 。   

                                如: ‘legs’ in cat  //返回 true  , 

                                          'aaa' in cat; //返回false ,  

                                         "toString"  in cat ;    // 返回true,inherited property

hasOwnProperty(): 查找对象上是否属性是否存在。  

                               如:cat.hasOwnProperty(' legs ');  // 返回true

                                       cat.hasOwnProperty(' toString ');  // 返回false

propertyIsEnumerable(): 属性是否可以被枚举 。

                              如:cat.propertyIsEnumerable('legs'); //true

                                      cat.propertyIsEnumerable('toString');//false

defineProperty():添加对象属性

                               如:Object.defineProperty(cat, ' price ',{ enumerable : true, values : 10000 });

                                    // cat:选择的对象,price:要添加的属性  enumberable: 是否可以被枚举,若不设置默认false


区别:            if(cat.legs != undefined){} //  表示不等于 undefine,也不等于 null

                        if(cat.legs !== undefined){} // 表示不等于undefine


5.属性getter / setter方法

例3:

var man = {

 get age(){

return 12;

},

set age( a ){

console.log('我的年龄' + a);

}

}

console.log(man.age);  //自动调用get()方法,返回12


man.age = 100; //自动调用set()方法

console.log(man.age);  //我的年龄 100


6.属性标签

        value: 值

        writable:是否可以写嗯,修改.设置默认false

        enumerable:是否可以被遍历,枚举,设置默认false

configurable:上述标签(writable,enumerable)是否可再修改,是否可以delete,设置默认false




 







   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值