JavaScript 面向对象之一 —— 对象(认识对象)

本系列文章根据《爱前端邵山欢老师深入浅出的js面向对象》视频整理归纳

认识对象

对象在JavaScript中分为狭义对象和广义对象两种。

● 所谓的狭义对象,就是用{}这种字面量的形式定义的对象,它是一组属性的无序集合
var obj = {
    name : '张鑫',
    age : 25,
    sex : '男',
    hobby : ['打游戏','看电影','听音乐','看书']
}

上面的对象,表示一个“人”,里面只有四个属性,没有其他东西。

对象除了能存储值,还能存储值的“语义”,值的语义,在术语上称作keys(键)。

所以得出结论,对象就是一组值与值的语义的封装。

● 广义对象是一个对象,除了一组属性外,还有别的东西。

比如DOM元素是对象,但又与我们之前说的狭义对象中的“只有一组值”不同。DOM元素拥有对象的一切特征,但其除了属性值外还有实体的HTML标签。

var box = document.getElementById('box');
console.log(typeof box);   //object

我们可以通过‘.’语法给其添加属性,并访问

box.name = '张鑫';
box.age = 25;
box.sex = '男';
console.log(box.sex);  // 男

比如数组,数组也是对象,对象的所有特征它也具备,也可以添加属性并进行访问,但是其除了属性值以外还拥有一组数。

var arr = [1,2,3,4,5,6];
console.log(typeof arr);  // object

//添加属性

arr.name = '张鑫';
arr.age = 25;
arr.sex = '男';
console.log(arr.sex);  // 男

综上所述,得出结论:系统内置的所有引用类型值,都是对象,他们都能够添加自定义属性,并进行访问。如:

function 函数
array 数组
regexp 正则表达式
DOM 元素
window、document、Math、Date 对象
Number、String 内置包装构造函数得到的值

我们只能创建狭义对象,而不能创建广义对象。

最后我们得出结论,能够添加属性的我们即可认为它是一个对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值