一个问题,我上周就问这里的这部分后,我的布尔不留真实。有人回答说,除了现在我会多次使用此功能,取而代之的功能多次我想用参数/参数重复,但也有问题....的Javascript:它宣布真正的功能
HTML:
<button id="button1">a</button>
<button id="button2">b</button>
的javascript:
var funcAPressed = false;
var funcA = function(x, y) {
alert(x);
y = true;
alert(y);
};
var funcB = function(x, y) {
if (funcAPressed === false){
alert(x);
}
else{
alert(y);
}
};
var buttonA = document.getElementById('button1');
buttonA.addEventListener('click', function(){funcA("Button A has been pressed", funcAPressed);});
var buttonB = document.getElementById('button2');
buttonB.addEventListener('click', function(){funcB("press Button A", "Button B has been pressed");});
下面是如何,这是所有设置: 我希望用户按下按钮,以正确的顺序,A则B,如果B先按下,有一个警告消息。我在上一个问题中得到的答案是创建一个布尔值并将其设置为false,这是我在顶部所做的。当我点击按钮时,我会看到下面的警告消息,它看起来像funcAPressed成为真,因为我做了警报(y),警告“真”。
的问题是,当我点击按钮后点击按钮B,它仍然认为funcAPressed =假,而不是它是否真实。
如果不是y = true,funcB会正常工作我有funcAPressed = true ...但通过这样做,我将不得不在该文档中多次复制此函数,而不是只能够使用它一次分配参数。
你认为funcAPressed被引用传递,当你设置y以真,你认为funcAPressed设置为true吗?阅读这样的回答:http://stackoverflow.com/a/13104500/916000 –