运行以下这代码, 不会象我们预期的那样弹出a 和 b

(function(){
    alert('a');
})()

(function(){
    alert('b');
})()

 错误信息是:

自运行调用函数后加分号

 

分析问题是分析器把代码解析成这样

(function(){
    alert('a');
})()(function(){
    alert('b');
})()

 很简单的方法就是加一个分号

(function(){
    alert('a');
})();

(function(){
    alert('b');
})();

 就可以了。

 

在自运行函数后面如果出现一对括号的话,就会出现这样的问题, 会被认为是在调用一个函数(方法),所以还是要保持好的代码风格,在完成语句后加上分号,虽然javascript允许没有结束符(;)。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
猜你喜欢
  • 2021-06-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案