Home >php教程 >php手册 >php和js的问题?

php和js的问题?

WBOY
WBOYOriginal
2016-06-06 19:45:491185browse

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

<span> 1</span> <span>php
</span><span> 2</span>         <span>function</span><span> fn(){
</span><span> 3</span>             <span>echo</span> "inside the function:" .<span>$var</span> ."<br>"<span>;
</span><strong><span> 4             $var = "con 2";
 5             echo "inside the function:" .$var ."<br>";
</span></strong><span> 6</span> <span>        }
</span><span> 7</span>         <span>$var</span> = "con 1"<span>;
</span><span> 8</span> <span>        fn();
</span><span> 9</span>         <span>echo</span> "outside the function:" .<span>$var</span> ."<br>"<span>;
</span><span>10</span>     ?>

js

<span>1</span> <span>function</span><span> fn2(){
</span><span>2</span>         <span>//</span><span>因为dada已经存在fn2函数内部了。当它在函数内部找到这个变量之后就不往外找?</span>
<span>3</span>         <span>alert</span>("inside the function:" + dada  +"<br>"<span>);
</span><span><strong>4         var dada = "con 2";
5         <span>alert</span>("inside the function:" + dada  +"<br>");
</strong></span><span>6</span> <span>    }
</span><span>7</span>     <span>var</span> dada = "con 1"<span>;
</span><span>8</span> <span>    fn2();
</span><span>9</span>     <span>alert</span>("outside the function:" + dada  +"<br>");

 

如上两个代码片段,

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是怎么回事?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP课程Next article:PHP之負載均衡下的session共用