nmkl 发表于 2015-8-27 08:00:44

javascript的全局变量寄存空间和delete、hasOwnProperty方法(等于php的unset和isset)

  javascript的全局变量,即非类变量和函数内变量,都寄存于window对象下,例如:
  var a=1;
  通常我们使用a变量时,是这样使用的
  document.write(a);
  但是知道了a变量定义之后,是寄存于window对象下的,就是也可以这么使用
  document.write(window.a);
  这样子在一些本来全局变量无法使用到的地方,就仍然可以使用全局变量了,因为window对象是任何地方都可以作用到的。
  
  javascript下也有类似php的unset方法,用于释放变量定义,例如:
  delete a;
  这样就释放了a变量。
  
  hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
  a = ;//0键值和1键值有值
  a.hasOwnProperty(0);//数组以0为键值的位是否已定义
  true
  a.hasOwnProperty(5);//数组以5为键值的位是否已定义
  false
页: [1]
查看完整版本: javascript的全局变量寄存空间和delete、hasOwnProperty方法(等于php的unset和isset)