问题标签 [hasownproperty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 有没有办法从改变 Object.prototype.hasOwnProperty 的人那里恢复?
你总是读到 for-in 循环应该检查o.hasOwnProperty(k)
跳过 Object.prototype。好吧,如果有人愚蠢到修改 Object.prototype,谁能说他们不会做任何与现有原型冲突的事情?例如,如果有人运行这个怎么办:
如果这是第一个脚本运行,这是否意味着对于页面其余部分的每个脚本,实际上不可能安全地迭代对象?
javascript - 为什么使用 Object.prototype.hasOwnProperty.call(myObj, prop) 而不是 myObj.hasOwnProperty(prop)?
如果我理解正确的话,JavaScript 中的每个对象都继承自 Object 原型,这意味着 JavaScript 中的每个对象都可以通过其原型链访问 hasOwnProperty 函数。
在阅读RequireJS的源代码时,我偶然发现了这个函数:
hasOwn
是对 的引用Object.prototype.hasOwnProperty
。将此函数编写为
既然我们在这里,我们为什么要定义这个函数呢?这只是为了(轻微)性能提升而对属性访问进行快捷方式和本地缓存的问题,还是我错过了任何可能在没有此方法的对象上使用 hasOwnProperty 的情况?
javascript - Javascript 数组。先进的
我的 php 脚本中有 JSON 字符串,如下所示:
我不知道有多少个 AXXXXXXXX 元素,它包含多少个元素。要获得 A 元素,我使用以下代码:
现在我知道我的 A 元素长度
现在我需要知道 A 中元素的最大长度:
我怎样才能得到这个图表的输出数组?
谢谢!
javascript - 一个简单的 `continue` 语句是否可以替代将整个 for..in 循环体嵌套在 `if` 中?
通常,for..in
臭名昭著的警告的解决方案是:
我觉得这样做会更干净:
问题是……它们在功能上不一样吗?
javascript - IE9:hasOwnProperty 技巧不起作用?
有据可查的是,IE 中的原生 DOM 元素不包含 hasOwnProperty() 方法。有几个解决方案;其中最优雅的是直接在 Object.prototype 中访问 hasOwnProperty() 方法,如下所示:
在我看来,这不再适用于 IE9。有人可以解释吗?这是一个说明这一点的小提琴。
在标准模式下使用 IE9 并关闭兼容模式,警报显示:
但是,在打开兼容性或怪癖模式(或使用开发人员工具使用 IE8 和 IE7 引擎呈现页面)后,警报会显示:
这里还有其他工作吗,或者 hasOwnProperty 的这种解决方法不再可用?
javascript - 是否有一种 jQuery 方法仅迭代对象自己的属性?
我正在制作一个类似 jQuery 的小型库,让我感到奇怪的是$.each
.
在 javascript 中,我们有一个for...in
循环:
这样做的问题是,它也会遍历继承的属性,即来自对象构造函数原型的属性。
hasOwnProperty
例如,使用 可以知道这一点。而 jQuery可以做到这一点。
但是,当您将对象传递给 时$.each
,它的行为与 a完全一样for...in
,也会迭代继承的属性。它也应该稍微慢一些,并且需要输入更多字符。
所以我的问题是,jQuery 中是否有只包含自己属性的对象迭代方法?如果不是,图书馆应该像这样吗?
编辑:由于 jQuery 不这样做,你也可以回答这是否有用。我的意思是,我看不到自己想要迭代原型属性,但也许我错过了一些东西。
javascript - javascript hasOwnProperty
我试图让我的一些类型拥有一种多重“继承”,如下所示:
但是 for 循环没有向UIControls.UIControl.prototype
我的新类型原型添加任何属性UIControls.ClickableMesh.prototype
。为什么hasOwnProperty
返回 false ?它应该有一些直接属于对象的成员。
javascript - “清除”对象是避免使用 hasOwnProperty 的可行方法吗?
我理解为什么 hasOwnProperty 是必要的,即使一个对象可以完全控制,因为 Object.prototype 可能已被修改。但是,如果我真的想避免它,请考虑一下:
换句话说,我在使用它之前清除了属性的实例。这应该有效,还是我错过了一些极端情况?
internet-explorer-9 - Javascript Object.prototype.hasOwnProperty 在使用 YUI 属性默认值时为 IE9+ 返回不正确的值
我相信我在 IE9+ 和/或 YUI 3 中使用 hasOwnProperty javascript 方法发现了一个错误。我想知道这里是否有人以前见过这个问题,或者你是否能够进一步隔离这个问题。我想将此问题告知相关方,但我不知道是否需要联系 IE 团队或 YUI。
细节:
当 IE9/IE10 为:
- 以标准模式渲染
- 涉及一个初始化的 YUI 属性(示例代码中的第 11 行)
hasOwnProperty 为包含无效 javascript 标识符的键的对象返回不正确的值(ab 中的 b 可以,a.5 中的 5 无效)。有效的标识符没有这个问题。
示例代码:
http://jsfiddle.net/bobbyakadizzy/nLZJy/6/(记住这个问题只出现在IE9/IE10)
当它应该返回 true 时,运行new Y.IE9HasOwnPropertyTest(); GLOBAL_attributeWithNumericProperty.hasOwnProperty('1234');
将返回 false。
jquery - 检查 jQuery Ajax 是否有响应
我使用 jQuery Ajax 函数在 WordPress 主题上安装一些演示数据。下面的这个脚本适用于我以前研究过的主题,但是现在由于某种原因我收到了错误
Uncaught TypeError: Cannot call method 'hasOwnProperty' of null
这是我正在使用的脚本
任何帮助将不胜感激。