美文网首页
object 对象 及原型原型链

object 对象 及原型原型链

作者: 卢卢2020 | 来源:发表于2021-01-17 22:09 被阅读0次

对象的定义

满足两个条件 :

    1.无序的数据集合

    2.键值对的集合

写法:

let obj = {'name':'frank',’age‘:18}

let obj = new Object({'name':'frank','age':18})

注意细节:

键名是字符串,不是标识符,可以任意字符

键的引号可以省略,省略之后就只能写标识符

——————————重点  就算引号省略了,键名也还是字符串—————

使用Object.keys(obj) 可以得到obj的所有key

变量做属性名

如何用变量做属性名

    let pp = 'name'

    let obj={pp:'frank'}  这样写 属性名为"obj”   这种方法无法得到变量名pp 只能得到字符串"pp"

    let  obj ={[pp]:'frank'}   【pp】这种方法可以得到变量pp  // name:frank

变量做属性名

删除属性

delete obj.name   或者 delete obj['name']

请区分属性值为undefined 和不含属性名

不含属性名(查看是否含有属性名方法:'XXX' in obj === false)

含有属性名,但是值为undefined

"xxx" in obj && obj.xxx ===undefined

查看属性

查看自身所有属性

Object.keys(obj) //查看所有的key

Object.values(obj) //所有的value

Object.entries(obj) //key和value值 以数组形式查看

查看自身+共有属性 

console.dir(obj)  推荐用法

或者自己依次用Object.keys打印出obj.__proto__(不推荐,因为它里面的共有属性比较多)

判断一个属性是自身的还是共有的

obj.hasOwnProperty('toString')

总结:'name' in obj 和obj.hasOwnProperty('name')的区别:前者为查看是否有属性名 后者是判断一个属性是自身属性还是共有属性

修改或者添加属性

修改属性 var obj={name:'frank' ,age:18}  修改属性直接obj.name重新赋值 写法 obj.name = 'lulu'

添加属性 obj.wuwuwu = 'wuwuwu'

批量添加属性 Object.assign(obj,{p1:1,p2:2,p3:3,p4:4})

修改 添加 批量添加属性

修改或者增加共有属性:

比如上面的obj 我们可以通过修改它的obj.__proto__来修改原型  但是这种方法不推荐 一般推荐用另一种 window.Object.prototype 

window.Object.prototype=obj.__proto__   //true

对象的原型图

本图为饥人谷教程图

三个推理公式

相关文章

  • object 对象 及原型原型链

    对象的定义 满足两个条件 : 1.无序的数据集合 2.键值对的集合 写法: let obj = {'nam...

  • lesson 5 面向对象及原型链 2021-04-29

    课程标题 面向对象及原型链 课程目标 面向对象思想 原型及原型链 继承 知识点 面向对象思想 原型链的指向 new...

  • prototype

    原型链 创建对象有几种方法 对象字面量 通过构造函数 Object.create 原型、构造函数、实例、原型链 函...

  • 面试题【Day06】

    本篇绪论 1,原型、原型链 1,原型、原型链 创建对象的几种方法: 1,字面量 2, 构造函数 3, Object...

  • js中的原型链

    原型链的本质是链表 原型链上的节点是各种原型对象,比如Function.prototype Object.prot...

  • js_继承及原型链等(四)

    js_继承及原型链等(三) 1. 继承 依赖于原型链来完成的继承 发生在对象与对象之间 原型链,如下: ==原型链...

  • Object.keys( )与 for in(对象),for o

    Object.keys( )不会走原型链,而for in会走原型链 for in更适合遍历对象,不要使用for i...

  • JavaScript高级2

    原型链 组成:一个或多个原型组成的结构 作用:描述了对象属性的查找方式 原型链的终点:Object.prototy...

  • 原型链图解

    注解 红虚线即原型链,各类实例都是通过原型链继承到各数据类型本身的方法和属性。比如Object原型对象包含着对象的...

  • 【JS】Prototype

    js原型链 prototype 通过对象字面量创建对象(等同于 new Object()) 获取原型有两种方法: ...

网友评论

      本文标题:object 对象 及原型原型链

      本文链接:https://www.haomeiwen.com/subject/twpwaktx.html