gpt4 book ai didi

javascript - javascript中私有(private)方法访问的私有(private)变量

转载 作者:行者123 更新时间:2023-11-29 22:25:24 31 4
gpt4 key购买 nike

function Cons(name) {
var pvar1="hi "+name;
sayhi = function() {
alert(pvar1);
}
attEvents(){
$('#'+name).bind("click",sayhi);
}
}
var a = new Cons('name1');
var b = new Cons('name2');
var c = new Cons('name3');

让我们假设 name1、name2、name3 都是 div。现在,无论我点击什么 div,我总是得到“hi name3”。私有(private)变量具有最后存储的值,与单击的 div 无关。感谢您的帮助。

谢谢

最佳答案

sayhi = function() {
alert(pvar1);
}

如果您在定义时不使用 var 关键字,那么它会被定义为全局变量。因此 sayhi 指的是定义为最后一个的函数。使用

var sayhi = function() {
alert(pvar1);
}

var pvar1 = "hi "+name,
sayhi = function() {
alert(pvar1);
};

注意逗号。或者真正的 jQuery 风格

$('#'+name).bind("click", function() {
alert(pvar1);
});

关于javascript - javascript中私有(private)方法访问的私有(private)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9784896/

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