向函数添加自定义属性
- 论坛
- 向函数添加自定义属性
12 浏览
向函数添加自定义属性
由于存在与我的关键词相关的许多其他问题,因此搜索适当的答案证明很困难,所以我会在这里提问。
众所周知,JavaScript中的函数是对象,它们有自己的属性和方法(更准确地说,是从Function.prototype继承的函数实例)。
我正在考虑为一个函数(方法)添加自定义属性,让我们跳过“为什么?”部分,直接看代码:
var something = { myMethod: function () { if (something.myMethod.someProperty === undefined) { something.myMethod.someProperty = "test"; } console.log(something.myMethod); } }
在使用Firebug的DOM探查器进行检查时,属性按预期定义。然而,由于我不认为自己是JavaScript专家,所以我有以下问题:
- 这种方法可以被认为是“正确”和符合标准的吗?它在Firefox中有效,但在Web浏览器中有很多按预期工作但绝不是标准的事情。
- 通过为对象添加新属性来改变对象是否是一种良好的做法?