Javascript 在onclick中声明一个变量?
当有人单击某个对象,然后声明变量时,如何在JavaScript中声明一个变量,这取决于函数将返回的值,该值可能是真值,也可能是假值 差不多Javascript 在onclick中声明一个变量?,javascript,Javascript,当有人单击某个对象,然后声明变量时,如何在JavaScript中声明一个变量,这取决于函数将返回的值,该值可能是真值,也可能是假值 差不多 onclick="var varable = somefunction(); " 然后,我将比较onclick中的变量,然后执行一个函数。因此,如果该变量为true,则执行一个函数,如果为false,则返回 如何在js中完成这两件事?解决问题的最简单方法是通过三元运算符?: onclick="myTestFunction() ? onTrueFunctio
onclick="var varable = somefunction(); "
然后,我将比较onclick中的变量,然后执行一个函数。因此,如果该变量为true,则执行一个函数,如果为false,则返回
如何在js中完成这两件事?解决问题的最简单方法是通过三元运算符
?
:
onclick="myTestFunction() ? onTrueFunction() : onFalseFunction();"
因此,最终您不需要声明任何内容。您在javascript的全局范围内声明变量,并在单击处理程序中分配给它:
var myVariable;
<a href="xxx" onclick="myVariable = somefunction();">
关键是,通常最好只从单击处理程序调用一个函数,并让该函数执行您需要执行的任何工作,而不是将多个语句内联到单击处理程序HTML中。问题在于,通过使用
var
,该变量的作用域是本地的单击处理程序,而不是全局对象,即窗口
。最简单的修复方法是直接将变量的值设置为窗口上的属性
:
onclick="window.varable = somefunction();"
然后您可以从代码的其他部分访问varable
(原文如此)
也就是说,将应用程序逻辑直接放在onclick属性中通常不是一个好主意。您希望执行一个函数来返回一个值,然后根据该值调用(或不调用)另一个函数,为什么不在“somefunction”中设置变量,然后在“somefunction”中调用其他函数呢?
function dispatchFunction() {
if (someFunction0()) {
someFunction1();
} else {
someFunction2();
}
}
onclick="window.varable = somefunction();"