易截截图软件、单文件、免安装、纯绿色、仅160KB

关于JavaScript的小问题

JScript code:


var a="aa";

function ff(){

a="c";
if(false)
{
var a;

}

}
ff();
alert(a);








为什么以上效果测试出来的是if语句块执行后的效果,if(false)应该不会执行到后面的语句啊?
这点很是不明白 望大家赐教一下 谢谢

由于声明的var a,编译的时候已经把函数内的a当成局部变量了

应该是编译顺序问题,用预编译如下, 就得到c了
JScript code:

var a="aa";

function ff(){
a="c";
@if(false)
{
var a;
}
@end
}
ff();
alert(a);



引用
http://topic.csdn.net/u/20090913/11/da9afa35-768c-4f12-8157-80295b5fc2c0.html?98991

不论var 在哪,都会被提升到语句最前,,,,



精辟!对你的敬仰如滔滔江水连绵不绝~

楼主只要记住JS中除了var声明的变量外还有function声明的函数都会在执行脚本前先进行预编译。
如:
      <script type="text/javascript">
    f();//结果是undefined
    function f(){
  alert(a);      
  var a;//预编译时var变量初始值为undef


相关问答:

使用javascript中的dom来写代码,会的请进,急

HTML code:

<input type="button" value="11" onclick="test()" />
<tr>
<td >123</td>
<td>33</td>
</tr> ......

javascript调用c#后台函数

javascript://关闭窗口IE窗口,就注销用户
//        function  window.onbeforeunload() 
//        {
//            ......

C#与javascript混用

我在后台用C#编写ASP.NET页面,同时要用JAVASCRIPT来控制提示窗口,如
Response.Write(" <script language=javascript>confirm('确定要删除吗?') </script>");
我要用confirm( ......

javaScript的表格点击后可以输入

选中的表格首先要变成蓝色。然后在点击一下就可以输入了。急
不太明白意思,具体点...

JScript code:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv=&q ......

急,求教大家一个JavaScript问题

我想做的功能是单击按钮,然后就把select标签里的option全部清空。
以下是代码:
JScript code:

<script language="javascript">
function remove(){
var nclass=document.getElemen ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号