浅谈js对象及对象属性
2017-03-01 11:00
155 查看
对象:
ECMA-262把对象定义为 :无序属性的集合,其属性可以包含基本值,对象或者函数。
严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每一个属性或方法都有一个名字,而每个名字都映射到一个值。
所有我们可以把对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。每个对象都是基于一个引用类型创建的。
下面是几个关于对象属性的一些方法
1.hasOwnProperty()方法
判断一个属性是在实例中,还是在原型对象中,可以使用这个方法。只有属性存在于对象实例中,这个方法才会返回true
2.原型与in操作符
在单独使用时,in操作符会在通过对象能够访问给定属性时返回true,无论该属性是存在于实例中还是原型中
3.Object.keys()方法
这个可以取得对象上所有可以枚举的实例属性,这个方法接收一个对象作为参数,返回一个包含所有可枚举属性的字符串数组
4.Object.getOwnPropertyNames()方法
如果想要得到所有实例属性,无论是否可以枚举,都可以使用
ECMA-262把对象定义为 :无序属性的集合,其属性可以包含基本值,对象或者函数。
严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每一个属性或方法都有一个名字,而每个名字都映射到一个值。
所有我们可以把对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。每个对象都是基于一个引用类型创建的。
下面是几个关于对象属性的一些方法
1.hasOwnProperty()方法
判断一个属性是在实例中,还是在原型对象中,可以使用这个方法。只有属性存在于对象实例中,这个方法才会返回true
2.原型与in操作符
在单独使用时,in操作符会在通过对象能够访问给定属性时返回true,无论该属性是存在于实例中还是原型中
function hasPrototypeProperty(object,name){ return !object.hasOwnProperty(name) && (name in object) }
3.Object.keys()方法
这个可以取得对象上所有可以枚举的实例属性,这个方法接收一个对象作为参数,返回一个包含所有可枚举属性的字符串数组
function Person(){ } Person.prototype.name = "tom"; Person.prototype.age = 29; Person.prototype.job = "soft"; Person.prototype.sayName = function(){ alert(this.name); } var keys = Object.keys(Person.prototype);//传入这个方法的是一个原型对象 alert(keys);//"name,age,job,sayName" var p1 = new Person(); p1.name = "Rob"; p1.age = 31; var p1keys = Object.keys(p1); alert(p1keys);//"name,age" //这个变量keys中将保存一个数组,数组中的字符串的顺序也是他们在for-in循环中出现的顺序。通过new Person(),即实例调用,只会返回包括两个属性的字符串数组,“name,age”.
4.Object.getOwnPropertyNames()方法
如果想要得到所有实例属性,无论是否可以枚举,都可以使用
var keys = Object.getOwnPropertyNames(Person.prototype); alert(keys);//"constructor,name,age,job,sayName"
相关文章推荐
- 浅谈js内置对象Math的属性和方法(推荐)
- 浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
- 浅谈 JS 对象添加 getter与 setter 的5种方法以及如何让对象属性不可配置或枚举
- 浅谈JS使用[ ]来访问对象属性
- 浅谈JS对象的属性封装性
- 浅谈js使用in和hasOwnProperty获取对象属性的区别
- [转载 js]document.body ,window.screen javascript对象属性取值意义
- [转]js鼠标及对象坐标控制属性
- js入门·对象属性方法大总结
- 转"js入门·对象属性方法大总结"
- masterpage中服务器端控件命名规则和如何用控件名取得document中的对象,用js动态设置控件事件和属性
- js入门·对象属性方法大总结
- js入门·对象属性方法大总结
- Thin的DateChooser代码学习(关于js的函数参数为一个完整的函数以及“对象不支持此属性或方法”错误的解决)(原创,转载请声明)
- js-window对象的方法和属性资料
- js-window对象的方法和属性资料
- 超级实用且不花哨的js代码大全 (四) -----JavaScript[对象.属性]集锦
- JS应用DOM入门(2):DOM的对象属性
- js对象,属性集锦之二
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称