易截截图软件、单文件、免安装、纯绿色、仅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经典小技巧

每一项都是JS中的小技巧,但十分的实用!
1.document.write(”"); 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:document->html->(head,body)
4.一个浏览器窗口中的DOM顺序是:window-& ......

Javascript赋值的问题

  想实现这样一个目的:输入文字到文本框text1,使用onBlur事件,当焦点移开的时候,根据文本框text1的内容,通过SQL语句检索表,得到对应的列值,然后赋值给text2,请问各位,关于这个功能的javascrtpt事件, ......

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 ......

一个简单的javascript问题

function(data){
var idd=data.id;
var addchildbutton=document.createElement(" <input type='button' onclick='addchild("+idd+")'>");
addchildbutto ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号