EMCAScript变量和作用域


javascript变量松散类型:特定时间用于保存特定值的一个名字。
全局变量和局部变量:
var message="hi";//当前作用域中的局部变量
function test(){
message="hi";//全局变量
}

基本类型值:可操作保存在变量中的值
  • undefined:使用var声明当未初始化
  • null:空对象指针
  • boolean:true,false
  • number:整数,浮点数;parseInt()  将字符串转换成整数
  • string:16位Unicode字符组成的字符序列,js中字符串是不可变的,改变某个变量保存的字符串,需先销毁原来字符串,然后用另一个包含新值的字符串填充该变量。


引用类型值:复制时只是复制指针,这两个变量实际引用一个对象
  • object:其它所有实例的基础(相当于java.lang.Object)
    • 构造函数Constructor
    • hasOwnProperty(propertyName):用于检查给定属性在当前对象实例中是否存在
    • isPrototypeOf(object):检查传入的对象是否是另一个对象的原型
    • 。。。
  • Array:提供一些有趣方法,例如实现栈,队列或者排序,迭代等。
  • Data
  • RegExp:支持正则表达式
  • Function
  • 基本包装类型
  • 单体内置对象:有EMCAScript实现提供的,不依赖宿主环境的对象,这些对象在程序执行前已经存在了,不需要显式的实例化内置对象。
    • global全局对象:eval()方法,将传入的参数当作实际的js语句来解析,然后把执行结果插入原位置。
    • math对象
js中函数参数传递按值传递,参数在内部是用一个数组来表示的,在函数体中通过arguments对象来访问此数组,从而获取传递个函数的每一个参数。由于参数是数组的原因,函数不能实现重载。
执行环境与作用域:
执行环境execution context----关联----变量对象ariable object:定义变量或函数有权访问的其他数据
  • 全局执行环境:window对象,浏览器退出时被销毁
  • 函数执行环境:执行流进入一个函数时,函数的环境被推入一个环境栈中,函数执行之后,栈将环境弹出,将控制权返回给之前执行环境
作用域链scope chain:保证对执行环境有权访问的所有变量和函数的有序访问。
作用域链的前端始终是当前执行的代码所在环境的变量对象。
js中不存在块级作用域:即{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值