JavaScript对象属性设置和屏蔽技巧

 更新时间:2023年02月06日 11:28:13   作者:rdwalker  
这篇文章主要为大家介绍了JavaScript对象属性设置和屏蔽技巧,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

了解了获取对象属性的基本方式,在当前对象中不存在的属性,会沿着对象的原型链不断往上查找目标属性,直至找到或到Object.prototype都不存在而结束查找。

思考如下代码:

myObject.foo = 100

当我们设置对象的某个属性,也可能会出现类似的问题。

有几种情况:

  • 当前对象存在,原型链对象不存在
  • 当前对象存在,原型链对象也存在
  • 当前对象不存在,而原型链对象中存在
  • 都不存在:当前对象和原型链各对象中都不存在设置属性

我们先来说下最常见,也最简单的场景:

属性仅存在于当前对象中,而原型链中不存在,且属性在对象中是可写的,那需要做的仅仅是赋值操作,改变属性值即可。

还有种情况,处理方式也比较简单:当前对象和原型链上都不存在该属性,且是可写的,那会在最底层,也就是当前对象新增这个属性,并赋值。

如果在当前对象和原型链中都存在,就会发生屏蔽,会优先选择最底层对象属性。也就是说只要当前对象属性可以被赋值,那就对当前对象属性值进行操作;如果原型链对象上的该属性是被设置了可读,那当前对象并未进行修改,则不可操作,严格模式下,还会报错。

最后一种情况,如果属性不存在与当前对象而仅出现在原型链对象中,属性均可写,那会如何呢?

思考如下代码:

const myObject = {
  foo: 100
}
const createObject = Object.create(myObject)
createObject.foo = 200
console.log(myObject.foo, createObject.foo) // 100 200

正常来说,如果没有createObject.foo操作,则createObject对象是空的,不存在foo属性,赋值操作后,从打印的结果可以看出,它会给当前新对象创建新属性并赋值,且原型指向的对象不会受当前对象赋值的影响。

以上就是JavaScript对象属性设置和屏蔽的小技巧内容,更多关于JavaScript对象属性设置屏蔽的资料请关注脚本之家其它相关文章!

相关文章

  • 微信小程序实现手写签名的示例代码

    微信小程序实现手写签名的示例代码

    这篇文章主要和大家分享一个微信小程序的示例代码,可以实现手写签名的效果。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-02-02
  • JavaScript初学者需要了解10个小技巧

    JavaScript初学者需要了解10个小技巧

    在之前的编程语言排行榜中,我们曾介绍过转正在即的JavaScript语言,正如文章中阐明的那样,JavaScript不仅是最具活力的脚本语言,还是是最有用的编程语言之一。
    2010-08-08
  • 微信小程序实现星级评分与展示

    微信小程序实现星级评分与展示

    这篇文章主要为大家详细介绍了微信小程序实现星级评分与展示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • JS原型与原型链的深入理解

    JS原型与原型链的深入理解

    这篇文章主要和大家一起深入理解JS原型与原型链,原型是JavaScript中一个比较难理解的概念,本文为大家解决这个难题,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 学习LayUI时自研的表单参数校验框架案例分析

    学习LayUI时自研的表单参数校验框架案例分析

    本框架基于LayUI框架写的表单参数校验框架,本文分过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-07-07
  • JavaScript使用SpreadJS创建Excel查看器

    JavaScript使用SpreadJS创建Excel查看器

    在现代的Web应用开发中,Excel文件的处理和展示是一项常见的需求,小编今天将为大家展示如何借助SpreadJS来创建一个Excel查看器,感兴趣的小伙伴可以了解下
    2023-12-12
  • js的正则test,match,exec详细解析

    js的正则test,match,exec详细解析

    本篇文章主要是对js的正则test,match,exec进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 使用JavaScript构建一个动态交互式图表

    使用JavaScript构建一个动态交互式图表

    在Web开发中,JavaScript不仅是实现交互效果的关键,还可以用于构建复杂的可视化组件,如动态交互式图表,下面我们就来看看如何构建一个动态交互式图表吧
    2024-02-02
  • js添加元素的简单方式示例

    js添加元素的简单方式示例

    这篇文章主要给大家介绍了关于js添加元素的简单方式,文中通过代码示例将每种实现的方法都介绍的非常详细,对大家学习或者使用js具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • js数组去重九种方式以及详解

    js数组去重九种方式以及详解

    这篇文章主要给大家介绍了关于js数组去重九种方式以及详解的相关资料,js数组去重是比较常见的数组操作方式之一,文中介绍了九种方法,需要的朋友可以参考下
    2023-09-09

最新评论