Javascript JS中静态函数的继承
假设我有四个按钮,如下所示:Javascript JS中静态函数的继承,javascript,variables,Javascript,Variables,假设我有四个按钮,如下所示: 单击我(按钮1)-或单击我(按钮2) 选项1(按钮3)选项2(按钮4) 如果我点击按钮1或按钮2,我希望设置一个局部变量来设置按下的按钮 当我点击按钮3或4时,我需要访问保存被点击按钮的变量并对其进行处理 我希望避免在全局范围内创建变量或使用多个变量。这可能吗 我所尝试的: function setButtonId(i) { this.id = i } setbuttonId.process = item => { console.log(item)
单击我
(按钮1)-或单击我
(按钮2)
选项1
(按钮3)选项2(按钮4)
如果我点击按钮1或按钮2,我希望设置一个局部变量来设置按下的按钮
当我点击按钮3或4时,我需要访问保存被点击按钮的变量并对其进行处理
我希望避免在全局范围内创建变量或使用多个变量。这可能吗
我所尝试的:
function setButtonId(i) {
this.id = i
}
setbuttonId.process = item => {
console.log(item)
}
//tmpcode
然后将其用作:
button1.onclick = () => logic.setId(3);
button4.onclick = () => logic.process();
但实际上我更喜欢非全局外部范围变量:
{
let id = null;
function setId(i){ id = i}
function process() {
console.log(id);
}
}
然后将其用作:
button1.onclick = () => logic.setId(3);
button4.onclick = () => logic.process();
但实际上我更喜欢非全局外部范围变量:
{
let id = null;
function setId(i){ id = i}
function process() {
console.log(id);
}
}
如果要避免使用全局变量,则可以使用立即调用的函数表达式:
(函数(){
拉斯蒂德变种;
document.getElementById(“1”).addEventListener('click',()=>{
lastId=1;
});
document.getElementById(“2”).addEventListener('click',()=>{
lastId=2;
});
document.getElementById(“3”).addEventListener('click',()=>{
console.log(lastId)
});
document.getElementById(“4”).addEventListener('click',()=>{
console.log(lastId)
});
}())
1234
如果要避免使用全局变量,则可以使用立即调用的函数表达式:
(函数(){
拉斯蒂德变种;
document.getElementById(“1”).addEventListener('click',()=>{
lastId=1;
});
document.getElementById(“2”).addEventListener('click',()=>{
lastId=2;
});
document.getElementById(“3”).addEventListener('click',()=>{
console.log(lastId)
});
document.getElementById(“4”).addEventListener('click',()=>{
console.log(lastId)
});
}())
1234
你知道,我问问题不仅仅是为了骚扰社区,对吧?我问问题是因为我需要帮助,我无法摆脱困境。别忘了新的
操作符。有点希望避免这种情况,但是是的,它会起作用,而不是this.id=1
使用return{id:1}
。你知道,我问问题不仅仅是为了骚扰社区,对吗?我问问题是因为我需要帮助,我无法摆脱困境。别忘了新的
操作符。有点希望避免这种情况,但是是的,它会起作用,而不是this.id=1
使用返回{id:1}
。谢谢你的直截了当的回答。它工作得很好。谢谢你直截了当的回答。非常好,太棒了,谢谢!这样的方法,我不会想出太棒了,谢谢!这样的做法,我是不会想出的