php和js的问题?
程序员文章站
2022-05-02 21:00:28
...
php 1 ? php 2 function fn(){ 3 echo "inside the function:" . $var ."br /" ; 4 $var = "con 2"; 5 echo "inside the function:" .$var ."br /"; 6 } 7 $var = "con 1" ; 8 fn(); 9 echo "outside the function:" . $var ."br /" ; 10 ? js 1 function fn
php
1 php 2 function fn(){ 3 echo "inside the function:" .$var ."
"; 4 $var = "con 2"; 5 echo "inside the function:" .$var ."
"; 6 } 7 $var = "con 1"; 8 fn(); 9 echo "outside the function:" .$var ."
"; 10 ?>
js
1 function fn2(){ 2 //因为dada已经存在fn2函数内部了。当它在函数内部找到这个变量之后就不往外找? 3 alert("inside the function:" + dada +"
"); 4 var dada = "con 2"; 5 alert("inside the function:" + dada +"
"); 6 } 7 var dada = "con 1"; 8 fn2(); 9 alert("outside the function:" + dada +"
");
如上两个代码片段,
php输出:
inside the function:
inside the function:con 2
outside the function:con 1
js输出:
inside the function:undefined
inside the function:con 2
outside the function:con 1
但是如果把红色的代码删除了,
php输出:
inside the function:
outside the function:con 1
js输出:
inside the function:con 1
outside the function:con 1
分析:
js代码中看到dada 后就在fn中找有没有定义,看到有定义了,所以就不往上面找?
但是因为定义在使用下面,所以值还是空。
删除了fn内部定义的变量后,因为在fn中没有找到dada的定义所以往外找,找到了所以为1?
php是怎么回事?
推荐阅读
-
2016 cocoapods的安装和使用方法以及版本升级遇到的问题
-
PHP中file_exists使用中遇到的问题小结
-
ios 11和iphone x的相关适配问题及解决方法
-
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
-
Mysql数据库名和表名在不同系统下的大小写敏感问题
-
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
-
微信js sdk invalid signature签名错误问题的解决方法分析
-
Xcode8下iOS10常见报错闪退,字体适配和编译不过的问题及解决方案
-
关于jQuery中.attr()和.prop()的问题探讨
-
浅谈JSON的数据交换、缓存问题和同步问题