特别声明:如果您喜欢小站的内容,可以点击申请会员进行全站阅读。如果您对付费阅读有任何建议或想法,欢迎发送邮件至: airenliao@gmail.com!或添加QQ:874472854(^_^)
JavaScript对象可以看作是一个属性的集合,很多时候需要看某个属性是否存在于某个对象中。在JavaScript中对象属性的检测主要有以下几种方法。
in
运算符hasOwnProperty()
方法propertyIsEnumerable()
方法!==undefined
接下来看这四种方法怎么检测对象属性。
in
运算符
使用in
运算符可以检测对象属性,如果指定的属性存在于指定的对象中,就会返回true
,反之返回的是false
。
下面的例子演示了in
是如何检测对象属性的。
var myCar = {
'make': 'Honda',
'model': 'Accord',
'year': 1998
}
'make' in myCar; // true
'name' in myCar; // false
'toString' in myCar; // true
在使用in
运算符做对象属性检测时,运算符右侧必须是一个对象,比如可以是一个string
包装的对象,但不能是一个字符串原始值。
var name = new String('w3cplus');
'length' in name; // true
'w3cplus' in name; // false
// Chrome输出
name => String {0: "w", 1: "3", 2: "c", 3: "p", 4: "l", 5: "u", 6: "s", length: 7, [[PrimitiveValue]]: "w3cplus"}
typeof name => object
var name = 'w3cplus';
'length' in name; //false
'w3cplus' in name; // false
// Chrome输出
name => "w3cplus"
typeof name => string
使用delete
运算符删除了一个对象一个属性,这时使用in
运算符检测删除的属性时会返回false
:
var obj = {
'name': 'w3cplus',
'type': 'blog'
}
d
如需转载,烦请注明出处:https://www.w3cplus.com/javascript/object-properties-detection-method.html
如果文章中有不对之处,烦请各位大神拍正。如果你觉得这篇文章对你有所帮助,打个赏,让我有更大的动力去创作。(^_^)。看完了?还不过瘾?点击向作者提问!