javascript学习笔记——变量与属性(4.6)

  javascript中变量与对象的属性有许多相似之处,其实在js中变量与对象属性在根本上是一致的。

1.全局对象(global object)

  js解释程序启动时,首先要做的是创建一个全局对象(在执行任何代码之前)。这个对象的属性是js程序的全局变量。当声明一个全局变量时,实际上定义了全局对象的一个属性。

js解释器以预定义了值的一些属性来初始化全局对象,如infinity,parseInt和Math属性,分别代表数字无穷大,predefined(预定义的) parseInt()方法,和预定义的Math 对象。

在top-level代码(例如,方法之外的js代码),可以用js关键词this来refer to全局对象。在方法内部this的用途有所不同,第八章将会详解。

在客户端js,window对象是浏览器窗口中所有js代码的全局变量。全局window对象具有一个自指向(self-referential)window属性可以被用来代替this指向全局对象。window对象定义核心全局属性,如parseInt与Math,也定义全局客户端属性,如navigator与screen。

2.局部变量:调用对象(call object)

全局变量是特殊全局对象的属性。局部变量是call object的属性。当方法体被执行时,函数参数与局部变量被存为这个call object的属性。为局部变量提供一个全然独立的对象是为了允许js在局部变量与全局变量重名覆盖时时保存局部变量。

3.js执行文本(execution contexts)

js解释器每次开始执行一个方法时,都为这个方法创建一个新的执行文本。单一js解释器可以在不同的全局执行文本中运行,而这些文本不必要全然独立,它们可以向前向后互相指向(refer back and forth to each other)。

安全问题后面讲到。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值