gpt4 book ai didi

Javascript:是否可以有一个在创建对象/字符串时自动触发的函数?

转载 作者:行者123 更新时间:2023-11-28 21:11:38 24 4
gpt4 key购买 nike

这个问题很简单。就像在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com