Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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,我在一个网页中有多个脚本标记。在多个脚本标记中使用相同的变量名会导致变量从上面的脚本标记中获取错误值的问题吗 <script type="text/javascript"> var current = 0; </script> <script type="text/javascript"> var current = 1; </script> 第一次电流会导致第二次出现问题吗?是的,会。只有一个全局执行上下文,与HTML标记中有多少

我在一个网页中有多个脚本标记。在多个脚本标记中使用相同的变量名会导致变量从上面的脚本标记中获取错误值的问题吗

<script type="text/javascript">
   var current = 0;
</script>

<script type="text/javascript">
   var current = 1;
</script>
第一次电流会导致第二次出现问题吗?

是的,会。只有一个全局执行上下文,与HTML标记中有多少节点无关

因此,在这个特定的示例中,current在window对象上被0初始化,然后被1覆盖。

是的,它将被覆盖。只有一个全局执行上下文,与HTML标记中有多少节点无关


因此,在这个特定的示例中,current在window对象上被0初始化,然后被1覆盖。

您永远不会遇到这样的情况,即在第二个标记中的var current=1之后立即执行的代码将使用值不是1的current。提供一个非常基本的示例:

<script type="text/javascript">
   var current = 0;
   alert(current); // will always alert 0
</script>

<script type="text/javascript">
   var current = 1;
   alert(current); // will always alert 1, never 0
</script>

这应该可以回答问题的原因,变量从问题的上面脚本标记方面获取了错误的值。

您永远不会遇到这样的情况,即在第二个标记的var current=1之后立即执行的代码将使用current,而不是1。提供一个非常基本的示例:

<script type="text/javascript">
   var current = 0;
   alert(current); // will always alert 0
</script>

<script type="text/javascript">
   var current = 1;
   alert(current); // will always alert 1, never 0
</script>

这应该可以回答问题的原因,变量从问题的上述脚本标记方面获取了错误的值。

从提供的信息中可以得到的最佳答案是,它可能会导致问题。但是,如果您只有在处理时执行的代码,因此以后不会调用依赖当前值作为特定值的函数,那么您应该可以。从提供的信息中可以得到的最佳答案是,它可能会导致问题。但是,如果您只有在处理过程中执行的代码,因此以后不会调用依赖当前值作为特定值的函数,那么您应该可以。