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

php和js的问题?

WBOY
WBOYOriginal
2016-06-06 19:45:491184Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP课程Nächster Artikel:PHP之負載均衡下的session共用