在回答上一个问题时,我收到了this helpful answer:
for (var i in someArray) {
if ({}.hasOwnProperty.call(someArray, i))
alert(someArray[i]);
}
我的问题是:
我在哪里可以阅读{}构造?我在jQuery文档中找不到它,谷歌也不可能找到它。
我在哪里可以阅读call()函数。 Searching the jQuery API site并未发现任何看似相关的内容。
感谢。
答案 0 :(得分:5)
{}
是一种方式来声明一个空对象。它被称为对象文字语法,您可以阅读更多相关信息here。
call()
方法是一种JavaScript方法(不是jQuery)。同样,您可以阅读更多相关信息here。基本上,call()
允许您更改正在调用this
的函数内call()
的值。它与apply()
;
var array = new Array;
function foo() {
alert(this === array);
};
foo(); // false;
foo.call(array); // true
特别是查看代码,我们循环遍历数组,并使用hasOwnProperty
方法检查{(1}})存在 {{1}数组(而不是i
的原型链。
至于为什么我们使用someArray
而不是someArray
,我猜测用户可能正在保护免受 {{1在{}.hasOwnProperty
上声明(通过使用空对象)。如果他没有这样做,那么以下就可能了;
someArray.hasOwnProperty
甚至;
hasOwnProperty
答案 1 :(得分:4)
http://www.dyn-web.com/tutorials/obj_lit.php
http://www.webreference.com/js/column26/call.html
谷歌在'javascript object literal'或'javascript call method'上面的几个例子。
答案 2 :(得分:3)