当有人点击某个内容然后声明一个变量时,如何在JavaScript中声明一个var,具体取决于函数返回的内容,这可能是true或false值。
类似
onclick="var varable = somefunction(); "
然后我将比较onclick中的变量然后执行一个函数。因此,如果该变量为true,则执行一个函数,如果该函数为false,则返回。
如何在js中完成这两件事?
答案 0 :(得分:3)
解决问题的最简单方法是通过三元运算符?
:
onclick="myTestFunction() ? onTrueFunction() : onFalseFunction();"
所以最后你不需要申报任何东西。
答案 1 :(得分:3)
问题在于,通过使用var
,该变量本地作用于该单击处理程序,而不是全局对象,window
。最简单的解决方法是直接将变量的值设置为window
上的属性:
onclick="window.varable = somefunction();"
然后,您可以从代码的其他部分访问varable
(原文如此)。
也就是说,将应用程序逻辑直接放在onclick属性中通常是一个坏主意。
答案 2 :(得分:1)
您在javascript的全局范围内声明该变量,并在单击处理程序中为其分配:
var myVariable;
<a href="xxx" onclick="myVariable = somefunction();">
或者,您为单击处理程序创建另一个功能,为您完成工作:
function dispatchFunction() {
if (myVariable) {
someFunction1();
} else {
someFunction2();
}
}
<a href="xxx" onclick="dispatchfunction();">
或者,取决于你想要的东西:
function dispatchFunction() {
if (someFunction0()) {
someFunction1();
} else {
someFunction2();
}
}
关键是通常最好只从click处理程序调用一个函数,并让该函数执行您需要完成的任何工作,而不是将多个语句内联到Click处理程序HTML中。