在JavaScript中定义自定义对象和函数
Defining custom objects and functions in JavaScript
有人能解释一下这个JavaScript示例的问题吗?如果可能的话,如何修复它?
// I can define objects / functions like this.
window['Custom'] = function() { };
//Works...I now have a 'Custom' function in scope... I can now do this...
var c = new Custom(); // WORKS!!
//This does not seem to work!
window['Custom.prototype.msg'] = function(msg) {
alert(msg);
};
// I DO NOT WANT TO DO THIS!
Custom.prototype.msg = function(msg) { alert(msg); };
x.msg("Hello");
//FireFox Error: TypeError: x.msg is not a function...
// HOW DO I FIX THIS!?
您想要:
window.Custom.prototype.msg = function(msg) { ... }
括号表示法采用字符串,但该字符串不会被解释为对象图表达式;这只是一根绳子。因此,window["Custom.prototype.msg"]
创建了一个名为"Custom.protype.msg"的全局函数。
编辑—这也会起作用:
window["Custom"]["prototype"]["msg"] = function(msg) { ... }
因此,如果你出于某种原因使用这些虚线列表表达式,如果你想把它们解释成这样,你就必须自己把它们分解。
相关文章:
- 创建对象函数原型和代码是错误的
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- 如何从onclick字符串中引用javascript对象函数
- 更改对象函数仅用于示例
- javascript和jQuery的嵌套对象函数中的变量范围
- 将对象函数传递给请求动画帧时丢失对象引用
- 对象函数返回函数而不是值
- 使用onclick调用属性对象函数
- javascript拉斐尔对象函数传递
- 如何从onClick事件调用对象函数
- 可以't获取具有“t”的对象变量;这个“;由setTimeout()函数调用的对象函数中的属性
- 对象没有't继承父对象函数
- 调用父对象函数
- "这个“;对象函数内部的引用
- 将变量添加到对象函数调用的末尾
- 传单错误:对象函数没有方法'createIcon'在LayerGroup中创建自定义图标标记时
- TypeError:对象函数Object(){〔本机代码〕}没有方法'方法'
- 挖空 - 单击绑定到对象函数 - 范围问题
- 类型错误: 对象函数...没有方法“打开”
- JavaScript 对象函数