我想根据点击在按钮上配置两个不同的操作。 第一次点击,我想调用一个函数F1(),并在所有其他时间我想调用另一个函数F2()。
我是javascript的新手,我正在寻找一个可以将值存储为标志的变量。我试过了,但价值观并没有坚持下去。
<script>
var fflag=1;
if(fflag!=2){
F1();//do an action
fflag = 2;
}
else{
F2();//do another action
}
</script>
答案 0 :(得分:3)
改为使用boolean:
var clicked = false;
function onButtonClick(){
if(clicked){ // If this button has been clicked before,
F2(); // Execute F2
} else { // If this button hasn't been clicked before,
clicked = true; // Change the boolean.
F1(); // Execute F1
}
}
更短的选择:
var clicked = false;
function onButtonClick(){
(clicked ? F2 : F1)();
clicked = true;
}
(这使用ternary operator)。
答案 1 :(得分:-2)
您需要在使用它的函数之外设置fflag变量,这将使其成为全局变量(或者至少在函数范围之外),并且它的值将在函数调用之间保持不变。
<script>
var fflag = 1;
function myClick() {
if(fflag!=2){
F1();//do an action
fflag = 2;
}
else{
F2();//do another action
}
}
</script>