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. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值