gpt4 book ai didi

javascript - 访问函数内的成员/从外部设置它们

转载 作者:行者123 更新时间:2023-11-30 12:57:40 24 4
gpt4 key购买 nike

我真的很想这样做:

var Html = function() {
alert('internal: ' + this.val);
};
Html.val = "x";
alert('external: ' + Html.val);
Html();

但它不起作用。为什么?如何获取函数代码以查看其创建后设置的值?

-更新-

因为我原来的帖子的意图不是很清楚,而且我在这里发布的解决方案比其他发布者的意图更接近意图,所以请允许我说我想要的是一种访问内部的机制一个函数的成员,其明确目的是能够创建一个通用函数,该函数可以被播种以在以后独立地修改其行为

最佳答案

JavaScript 函数的 this 上下文取决于调用该函数的方式。您可以使用 call 显式传递上下文:

var Html = function() {
alert('internal: ' + this.val);
};
Html.call({ val:'x' });

如果您打算将该函数用作构造函数,您可以使用 new 进行实例化:

function Html(val) {
this.val = val;
}

var html = new Html('x'); // Must be used with `new`
alert('internal: '+ html.val);

如果你想扩展你的对象,你可以向原型(prototype)添加方法:

Html.prototype.getVal = function() {
return 'internal: '+ this.val;
};

var html = new Html('x');
alert(html.getVal());

关于javascript - 访问函数内的成员/从外部设置它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18479138/

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