2
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”。无论点击的div如何,私有变量都有最后存储的值。任何帮助表示赞赏。通过javascript中的私有方法访问私有变量
感谢
可能是因为'sayhi'是全球性的,'.bind(“click”,sayhi);'在创建三个对象后的某个时间被调用。但是要确定地知道,你必须纠正/澄清这个声明:'attEvents(){$('#'+ name).bind(“click”,sayhi);}'它在做什么? – 2012-03-20 10:42:15
我的错误,attEvents只会将事件附加到div。它将在Cons()的末尾被调用。是的sayhi在全球范围内。谢谢您的帮助。即使定义了函数,也不知道应该使用var。非常感谢 :) – 2012-03-20 11:02:47