不能在对象上设置自定义属性
Can't set customized property on objects
我试图定义一个名为userdata
的自定义属性,但对于位置等对象。哈希,它不工作,我得到false, false
与两个警报调用。
Object.defineProperty(Object.prototype, "userdata", {
value: false,
writable: true,
enumerable: true,
configurable: true
});
alert (location.hash.userdata);
location.hash.userdata = true;
alert (location.hash.userdata);
是不可变的吗?
如果我定义了自己的对象,也就是
var a = {};
a.userdata = true;
它将被正确设置,我不明白为什么前面的例子不起作用
由于userdata
的默认值为false
,因此第一个警报为false是正常的。
然而,location.hash.userdata = true;
肯定不会工作,因为当您使用点符号将location.hash
原语字符串作为对象时,它会将原语值包装在String
原语包装器中,然后丢弃该包装器对象,因此它与new String(location.hash).userdata = true;
因为你不能做location.hash = new String(location.hash)
,你将不得不把你的属性存储在另一个对象上,因为location.hash
将永远是不可变的。
相关文章:
- 如何设置自定义垂直滑块Jquery的动画
- 如何在ExtJs4应用程序上为视图、存储和模型设置自定义文件夹名称
- 设置自动分隔符的自定义属性
- Alfresco JavaScript,当文件上传到网站时,设置自定义类型属性
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 正在设置自定义属性名称
- 使用 jQuery 设置自定义属性和值
- 使用 JavaScript 设置自定义属性
- 如何设置自定义对象属性以在 Angular 类型提前中进行筛选
- 在路由中设置自定义控制器属性
- 如何在OpenLayers中设置和获取层的自定义属性
- 谷歌通用分析-设置自定义属性
- 如何在客户端设置自定义验证器isValid属性
- 是否可以将SVG对象的自定义属性设置为数字而不是字符串?
- 设置自定义HTML5有效性消息属性忽略模式正则表达式
- Javascript DOM:设置自定义DOM元素属性
- 不能在对象上设置自定义属性
- 无法设置自定义对象属性
- 设置/获取动态自定义属性
- Asp.. NET没有更新javascript设置的自定义属性值