var g = $('#go');
var z = $('#are');
我有变量我想在 y 类中提供给 alertData 和 hideData。
最简单的方法是什么?
var y = {
alertData: function (){
alert('z');
},
hideData: function (){
$(this).hide();
}
};
var g = $('#go');
var z = $('#are');
我有变量我想在 y 类中提供给 alertData 和 hideData。
最简单的方法是什么?
var y = {
alertData: function (){
alert('z');
},
hideData: function (){
$(this).hide();
}
};
你总是可以这样做:
var y = {
g : $('#go'),
z : $('#are'),
alertData: function (){
alert(this.z);
},
hideData: function (){
this.g.hide();
}
};
或者
var y = {
alertData: function (elem){
alert(elem.prop('id'));
},
hideData: function (elem){
elem.hide();
}
};
var g = $('#go');
var z = $('#are');
y.alertData(g);
y.hideData(z);
如果您正在寻找可链接的方法,您应该使用它$.fn
来创建方法。
或者如果他们需要私有,这里是模块模式:
var y = (function() {
var g = $('#go');
var z = $('#are');
return {
alertData: function() {
alert(z);
}
hideData: function() {
z.hide();
}
}
}())
这将使上述自调用函数返回的对象中的所有函数都可见,而g
(或)抛出错误。z
y.z
y.g
在 javascript 中定义一个简单的变量成为全局变量,这就是为什么它不满足 oops 的属性,即封装。因此,如果您运行它,它将起作用。:
g = $('<p>');
z = $('#are');
function somefunction(){
console.log(g);
console.log(z);
}
somefunction()
g 和 z 成为全局变量..
要么你可以使 g 和 z 全局变量,然后它们将在你想要的任何函数中可用。
或者您可以在调用警报数据和隐藏数据时传入变量,这是首选方法,现在您的函数独立于全局变量,以后也可以在其他地方使用
在 y 中创建两个局部变量并从外部分配它们,以便它们成为对象的一部分。通过这样做,您可以在 y 中随心所欲地使用它们。
window.g = $('#go');
window.z = $('#are');
function somefunction(){
console.log(g);
console.log(z);
}
像这样添加它:
var y = {
g:"",
z:"",
alertData: function (){
alert(this.z);
},
hideData: function (){
this.g.hide();
}
};
y.g = anything
并使用和分配值y.z = anything