`
liu_87663663
  • 浏览: 34752 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Javascript作用域初解

 
阅读更多

1. undefined 
当需要判断一个变量是否为 undefined 时,直接用 

Js代码   收藏代码
  1. alert(om == undefined);  


可能出错。因为 JS 如果引用未声明的变量,那么会出现JS错误,在上述例子中,如果 om 未曾声明,就会报 JS 错误。因此判断一个变量是 undefined,最好用这种方法 

Js代码   收藏代码
  1. alert(typeof om == 'undefined');  



2. JS 中没有块作用域,在函数中声明的变量在整个函数中都可用(无论是在函数开头处声明还是末尾处声明),如 

Js代码   收藏代码
  1. function() {  
  2.      alert(om);       // 显示 undefined  
  3.      var om = 'abc';  
  4.      alert(om);       // 显示 abc  
  5. }  



3. JS 在函数执行前将整个函数的变量进行声明,无论这个变量的声明语句有没有机会执行,如 

Js代码   收藏代码
  1. function () {  
  2.    alert(om);      // 显示 undefined  
  3.    if (false) {              
  4.        var om = 'abc';     // 此处声明没有机会执行  
  5.    }  
  6. }  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics