什么是JavaScript构造`{}`和`call()`?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了什么是JavaScript构造`{}`和`call()`?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1193字,纯文字阅读大概需要2分钟。
内容图文
在回答上一个问题时,我收到了this helpful answer:
for (var i in someArray) {
if ({}.hasOwnProperty.call(someArray, i))
alert(someArray[i]);
}
我的问题是:
>我在哪里可以阅读{}构造?我在jQuery文档中找不到它,谷歌也不可能.
>我在哪里可以阅读call()函数. Searching the jQuery API site没有出现任何看似相关的东西.
谢谢.
解决方法:
> {}是声明空对象的一种方法.它被称为对象文字语法,你可以阅读更多关于它here.
> call()方法是一个JavaScript方法(不是jQuery).再一次,你可以阅读更多关于它here.基本上,call()允许你在你调用call()的函数内更改它的值.它与apply()有关;
var array = new Array;
function foo() {
alert(this === array);
};
foo(); // false;
foo.call(array); // true
特别是看代码,我们循环遍历数组并使用hasOwnProperty方法检查someArray数组中存在的值(i)(而不是someArray的原型链中).
至于为什么我们使用{} .hasOwnProperty而不是someArray.hasOwnProperty,我想用户可能正在防止someAwnProperty在someArray上声明(通过使用空对象).如果他没有这样做,那么以下可能是可能的;
var someArray = [];
someArray.hasOwnProperty = function () {
return true; // always return true... muahahaha.
}
甚至;
var someArray = [];
someArray.hasOwnProperty = 4; // now hasOwnProperty isn't even a function. Calling someArray.hasOwnProperty() will result in an error.
内容总结
以上是互联网集市为您收集整理的什么是JavaScript构造`{}`和`call()`?全部内容,希望文章能够帮你解决什么是JavaScript构造`{}`和`call()`?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。