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

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)