seb*_*sse 27 javascript properties object
这里有几个答案如何检查对象中是否存在属性.
我一直在使用
if(myObj.hasOwnProperty('propName'))
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有任何区别
if('propName' in myObj){
Run Code Online (Sandbox Code Playgroud)
ade*_*neo 45
它们几乎是相同的,区别在于hasOwnProperty不会检查原型链,而in确实如此.
一个例子
var test = function() {}
test.prototype.newProp = function() {}
var instance = new test();
instance.hasOwnProperty('newProp'); // false
'newProp' in instance // true
Run Code Online (Sandbox Code Playgroud)
如上所述,Object.hasOwnProperty只返回"自有属性",即直接添加的属性,而不是添加到的属性prototype.
| 归档时间: |
|
| 查看次数: |
50951 次 |
| 最近记录: |