Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 - Fatal编程技术网

javascript全局值未定义

javascript全局值未定义,javascript,Javascript,我在javascript中有一个全局变量首先-您需要将所有逻辑放入ready函数中。现在,您的ready函数在最后一个控制台.log之后工作,因为它是异步的 Second-您还使用相同的名称声明了函数作用域变量 jQuery(document).ready(function() { var soft1414; $( ".single_variation_wrap" ).on( "show_variation", function ( event, variation ) {

我在javascript中有一个全局变量

首先-您需要将所有逻辑放入
ready
函数中。现在,您的ready函数在最后一个
控制台.log之后工作,因为它是异步的

Second-您还使用相同的名称声明了函数作用域变量

jQuery(document).ready(function() {

   var soft1414;

   $( ".single_variation_wrap" ).on( "show_variation", function ( event, variation ) {

      soft1414 =  $("#pa_soft-cover-1414").val();    
      console.log(soft1414); 
   });

});

问题就在这一行

var soft1414=$(“#pa_soft-cover-1414”).val()

var关键字使soft1414成为回调函数中的局部变量

删除var关键字,使该行看起来像

soft1414=$(“#pa_soft-cover-1414”).val()


此外,回调函数是异步执行的,因此首先执行回调外部的console.log,然后定义值。无论您想对变量做什么,都应该在回调函数块中定义您的
console.log(soft1414)//未定义的
jQuery(document).ready(function(){})
so值在设置前打印。因此,您必须将所有逻辑放入
jQuery(document).ready(function(){})中功能。

想想看。。。。。您正在等待事件触发,但不知何故,您认为您可以在事件发生之前阅读它。