Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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作用域/绑定问题_Javascript_Closures_Scope - Fatal编程技术网

在另一个函数中定义的函数的函数参数存在Javascript作用域/绑定问题

在另一个函数中定义的函数的函数参数存在Javascript作用域/绑定问题,javascript,closures,scope,Javascript,Closures,Scope,我的问题如下: 我有这样的代码 (function(){ var someVar = "some Value"; someDOMnode.onclick = function(e){ somePredefinedFunction( [{id: someVar}] ); } })(); 现在,当单击DOM节点时,它的参数不是“some Value”,而是“someVar”(变量的名称)。 正如您可能看到的,我

我的问题如下:

我有这样的代码

    (function(){
        var someVar = "some Value";
        someDOMnode.onclick = function(e){
            somePredefinedFunction( [{id: someVar}] );
        }
    })();
现在,当单击DOM节点时,它的参数不是“some Value”,而是“someVar”(变量的名称)。 正如您可能看到的,我想要的是将“一些值”传递给函数。
如何解决这个问题?

这是解决问题的方法。问题一定在别处。证据:你完全正确。我使用someDOMnode.onclick.toString()对其进行了测试,它将实际输出“function(){…somePredefinedFunction([{id:someVar}]);…}”,但运行时发现someVar不是字符串“someVar”,而是变量。我想知道为什么.toString()不用它的值“替换”someVar。
toString
在源代码中编写函数时,为您提供函数的字符串表示形式。它确实评估变量。