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


相关问答:

asp中用javascript动态改变Image的src的路径问题

<form id="form1" runat="server">
  <div>
  <script type="text/javascript">
  function oo(a){
  document.getEleme ......

javascript中的两个问题请教,谢谢

1.看到《精通javascript》上说:javascript是完全异步的,那么是不是每条语句都不会执行完,下条语句就开始执行呢,实际上不是这样,也不可能是这样,不然怎么写程序?
2.代码如下,为什么不可行呢:
JScript ......

Javascript赋值的问题

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

javascript 闭包问题

<script type="text/javascript">
    var name = "The Window";

   var object = {
    name : "My Object",

    getNameFunc : ......

javascript问题:

javascript问题:

var  win1000
var  win1001

定义好了2个变量,但是 1000,跟1001我是动态获取的,前面只有win是已知的,我要怎么写才可以使用这个变量
L@_@K
JScript code:
var w ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号