Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在onclick中声明一个变量?_Javascript - Fatal编程技术网

Javascript 在onclick中声明一个变量?

Javascript 在onclick中声明一个变量?,javascript,Javascript,当有人单击某个对象,然后声明变量时,如何在JavaScript中声明一个变量,这取决于函数将返回的值,该值可能是真值,也可能是假值 差不多 onclick="var varable = somefunction(); " 然后,我将比较onclick中的变量,然后执行一个函数。因此,如果该变量为true,则执行一个函数,如果为false,则返回 如何在js中完成这两件事?解决问题的最简单方法是通过三元运算符?: onclick="myTestFunction() ? onTrueFunctio

当有人单击某个对象,然后声明变量时,如何在JavaScript中声明一个变量,这取决于函数将返回的值,该值可能是真值,也可能是假值

差不多

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();"