6.1对象

(1)对象:

在js中由各种属性名称以及属性名称对应的值合成的一个无序的合集

创建对象:
 	new操作符 ; 
	字面量{}; 
	Object.create({实例的隐式原型所指对象} )

(2)对象的分类:

① 内部对象: 本地对象和内置对象,

  • 本地对象 ,需要new实例化;如:
    Object、Function、Array、String、Boolean、Number、Date、RegExp、
    Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
    (8个常用对象+7个错误对象)
  • 内置对象,不需要new实例化就能使用的对象:全局对象 Math JSON

② 宿主对象: 浏览器提供的对象。所有的BOM和DOM都是宿主对象。

③ 定义对象 : 开发人员自己定义的对象

(3)访问对象

点 : obj.k
方括号 : obj[变量]

(4)为什么数字 字符串 boolean值(原始类型)可以调用方法?

因为在js解释器中,遇到 “.” 则先判断”.”前是不是对象:

  • 是 , 则调用属性;
  • 不是 , 则将前面的变量转为对象,再调用属性;
  • 转换失败,报错

(5)为什么typeof null 为’object’?

早期开发的bug;

程序中的all变量肯定都是保存在内存中,all的数据保存在内存中都是使用二进制的形式, js 中的变量,若对应的二进制前三位为0,则typeof 为’object’,而null的二进制全为0 ;

因为这个bug, es中添加了undefined 类型表示空.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值