JavaScript第二讲 全局对象和包装对象

JavaScript第二讲 全局对象和包装对象

全局对象

全局对象的属性是全局定义的符号。当加载任何新页面的时候,就会有全局对象产生(其实也就是this),

并会被赋予一组初始属性:

  • 全局属性:如undefiend、Infinity和NaN
  • 全局函数:如isNaN()
  • 构造函数:如Object()和Date()
  • 全局对象:如Math

当被创建的时候,全局对象就定义了JavaScript中所有的预定义全局值。

包装对象

JavaScript对象是一种复合值:是属性和已命名值的集合。通过a.b()来调用。

对于我们常见的字符串

let str = "hello";
let w = str.substring(s.indexOf("h") + 1, str.length());

字符串不是对象,为什么能调用方法。因为当执行第二条语句的时候,会调用new String(str)来转换成对象,来的处理属性的引用,引用结束后,新创建的对象就会被销毁。数字和布尔值也类似。

null和undefined没有包装对象

思考

let str= "test";
s.len = 4;
let t= s.len;//?

当执行这段代码时,t为undefiend。原因是因为,当第二行语句执行完后,就会销毁这个对象。第三行读取的话,就会发现不存在,即undefined。这段代码说明,在读取字符串、数字和布尔值的属性和方法的时候,表现的像对象一样。

如果想给属性赋值,则会忽略,因为修改是发生在临时对象上的,而这个临时对象会在下一步被销毁。

存取字符串、数字和布尔值的属性时,创建的临时对象乘坐包装对象。

需要注意的是,可通过String()、Number()或Boolean()构造函数来显示创建包装对象,JavaScript会在必要的时候将包装对象转为原始值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值