《JavaScript权威指南》学习笔记 第一天。
2015-11-20 21:28
441 查看
这是零零散散的笔记,作为自己看书打demo的笔记。不足为各位学习,留作自己复习知识点备用。
1、检测对象中某个属性存在不存在:
2、什么是枚举属性。
Js里面的枚举就是指的遍历。起这么一个专业的名字,真是忽悠到我了。google上down一张图说明一下。
所谓的枚举,就是依次的拨梳子齿。从第一个齿到最后一个齿。
在上面说过js的对象有原型,通过new创建的对象都会继承原型。那么其中就有一些隐藏的属性或者函数是不能被枚举到的。
ECMAScript 5中的第二个枚举属性的函数是Object.getOwnPropertyNames();
还有一个枚举函数名字叫Object.keys();
getOwnPropertyNames()会返回对象中所有的自由属性。而keys()会把所有的属性即继承的属性和私有的属性一块返回来。
3、属性的特征。
对象中的一个属性包括一个名字和四个特征。数据属性的四个特征分别是:值(value),可写性(writable)、可枚举性(enumerable)、可配置性(configurable)英 [ kən'fɪgərəbl ]结构的,可配置的.
存取器属性不具有值特征和可写性。他们的可写性是有setter方法的存在与否决定的。因此存取器属性的4个特征是读取(get) 写入(set) 可枚举性、可配置型。
使用Object.getOwnPropertyDescriptor()可以获得某个对象特定属性的属性描述符。
这个getOwnPropertyDescriptor()只能获得自有属性的属性描述符。要想获得继承属性的特征,需要遍历原型链Object.getPrototypeOf()
如果要设置属性的特征,或者想让新建属性具有某个特征,可以使用Object.defineProperty(对象,值,属性特征);
批量修改属性的特征,则要使用Object.defineProperties(对象,{{}})
1、检测对象中某个属性存在不存在:
<script> // in 运算符 //不管是对象的自有属性还是继承来的属性,都会返回true。 var obj = {a:1,b:2,c:3}; var isExist = 'a' in obj; console.dir(obj); if(isExist){ alert('a 在obj 这个对象里面'); } // hasOwnProperty() //顾名思义,OwnProperty表示只有是对象的自有属性才会返回true //继承的属性则会返回false if(obj.hasOwnProperty('c')){ alert('hasOwnPropery'); } </script>
2、什么是枚举属性。
Js里面的枚举就是指的遍历。起这么一个专业的名字,真是忽悠到我了。google上down一张图说明一下。
所谓的枚举,就是依次的拨梳子齿。从第一个齿到最后一个齿。
在上面说过js的对象有原型,通过new创建的对象都会继承原型。那么其中就有一些隐藏的属性或者函数是不能被枚举到的。
ECMAScript 5中的第二个枚举属性的函数是Object.getOwnPropertyNames();
还有一个枚举函数名字叫Object.keys();
getOwnPropertyNames()会返回对象中所有的自由属性。而keys()会把所有的属性即继承的属性和私有的属性一块返回来。
3、属性的特征。
对象中的一个属性包括一个名字和四个特征。数据属性的四个特征分别是:值(value),可写性(writable)、可枚举性(enumerable)、可配置性(configurable)英 [ kən'fɪgərəbl ]结构的,可配置的.
存取器属性不具有值特征和可写性。他们的可写性是有setter方法的存在与否决定的。因此存取器属性的4个特征是读取(get) 写入(set) 可枚举性、可配置型。
使用Object.getOwnPropertyDescriptor()可以获得某个对象特定属性的属性描述符。
这个getOwnPropertyDescriptor()只能获得自有属性的属性描述符。要想获得继承属性的特征,需要遍历原型链Object.getPrototypeOf()
如果要设置属性的特征,或者想让新建属性具有某个特征,可以使用Object.defineProperty(对象,值,属性特征);
批量修改属性的特征,则要使用Object.defineProperties(对象,{{}})
相关文章推荐
- js分页实例
- js分页函数
- 20151120 jsp相关
- 借鉴dijstra写的prim算法
- ExtJS4.2学习(12)基于表格的右键菜单(转)
- 谈谈JavaScript里对象的创建和继承(一)
- JSON数据解析
- 一个javascript模板的例子
- Jsp EL的知识点整理,带你快速入门
- ASP.NET MVC - loop model data in javascript
- 南大软院大神养成计划--js
- JS函数的参数(arguments)的使用
- form-json-url传参
- 用javascript简单封装AJAX
- [JSOI2008]最大数maxnumber
- JS鼠标事件大全 推荐收藏
- JavaScript 抽奖
- iOS引入JavaScriptCore引擎框架(一)
- 5、手把手教你Extjs5(五)使用图标字体来美化按钮)
- js通过变量获得json数据