这个问题很简单。就像在 PHP 中我们有神奇的函数 __construct()
一样,我可以在 javascript 中使用任何相关的函数或 hack 吗?
示例:
function setLength() {
/* Some work */
}
var a = new Object();
b = new String("Hello");
//Is there anyway the function setLength() will automatically be fired when an Object or String... created?
我期待着您的答复。非常感谢您的帮助。
[x]
最佳答案
尝试重载String
将是一个坏主意,特别是在使用第三方库时。增强 Object
也是如此。
但是,您可以这样做,但我不推荐这样做..
var _String = String;
window.String = function() {
setLength();
return new _String(arguments[0]);
}
创建原始字符串时显然也不会调用它。
jsFiddle .
<小时/>您可以使用一个字符串工厂函数来返回一个新的String
对象并调用您的函数。
var stringFactory = function(chars) {
setLength();
return new String(chars);
}
这有一些优点,主要是String
构造函数没有重载。
关于Javascript:是否可以有一个在创建对象/字符串时自动触发的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8471468/