首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js对象属性

前言 相信对于对象属性大家都或多或少的知道一些,那么本文从属性说开去,看看大家对属性的了解是否有遗漏的部分。...构造函数得到的属性以及基本属性赋值 //正常的构造函数以及对象属性赋值,call .apply构造函数继承方式的属性都可以正常获取,并且属于对象自有属性 let Animal = function ()...(let p in zhangsan){ console.log(zhangsan.hasOwnProperty(p),`${p}:${zhangsan[p]}`) } 参考代码 codepen关于js...对象自身可枚举,不含 Symbol 属性 Object.getOwnPropertyNames(obj) 返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名 对象自身...对象自身,全部属性 属性中的this是什么 来源 指向 对象 对象自身 构造函数 返回新对象 原型 原型 纯函数调用 外部环境全局,浏览器或者node 访问器get,set使用 一般我们也用不到这个

15.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入 JS 对象属性

    属性决定JS对象的状态,本文章主要分析这些属性是如何工作的。 JS几种不同的属性 JS有三种不同的属性:数据属性,访问器属性和内部属性。...特性(attribute)键通常用双括号编写: 以下特性是属于数据属性: [[Value]]:该属性属性值,默认为undefined。...以下特性是属于访问器属性: [[Get]]:是一个函数,表示该属性的取值函数(getter),默认为undefined [[Set]]:是一个函数,表示该属性的存值函数(setter),默认为undefined...每个属性都有自己对应的属性描述对象,保存该属性的一些元信息。下面是值为123属性描述对象的一个例子。...如果没有指定为 undefined,则是要添加到新创建对象的可枚举属性(即其自身定义的属性,而不是其原型链上的枚举属性对象属性描述符以及相应的属性名称。

    8.5K50

    JS 对象属性相关--检查属性、枚举属性

    1.删除属性 delete运算符可以删除对象属性 delete person.age //即person不再有属性age delete person['age'] //或者这样 delete只是断开属性和宿主对象的联系...1 delete只能删除自有属性,不能删除继承属性(要删除继承属性必须从定义这个属性的原型对象上删除它,当然,这会影响到所有继承来自这个原型的对象) function inherit(p){...== undefined);//true console.log(obj.y !== undefined);//false console.log(obj.toString !...== undefined); //true 3.枚举属性 var obj = {x:1,y:2}; for(p in obj){ console.log(p);//x y console.log...(obj.p);// undefined undefined console.log(obj[p]);//1 2 } 拓展1: 每个对象都有与之相关的原型(prototype)、类(class)、可扩展性

    5.8K20

    JS对象属性排序小技巧

    前面我们讲到数组对象去重的时候,如果由于对象里面的内容是一样,但是属性位置不一样,从而导致我们可能出现无法去重,虽然JSON.stringify()的第二个参数能够自行添加属性到数组里面,但有可能出现我们并不知道对象具体有哪些属性...后来我搜索相关文章,发现了一个很有用的代码,能够自动对属性进行排序,分享给你们。...如下: JSON.stringify(obj, Object.keys(obj).sort()) 当我们使用上面这个Object.keys(obj).sort()之后,并不需要像上一篇手动加入属性组。...(o) { return JSON.stringify(Object.keys(o).sort().reduce((r, k) => (r[k] = o[k], r), {})); } 完整的数组对象去重如下...,map方法是一个遍历方法,返回遍历结果组成的数组.将unique对象的键名还原成对象数组 return JSON.parse(u); }) return arr; } function

    3.4K20

    JS操作对象属性(获取、添加、删除、修改对象属性

    使用点语法 使用点语法可以快速读写对象属性,点语法左侧是引用对象的变量,右侧是属性名。 示例1 下面示例定义对象 obj,包含属性 x,然后使用点语法读取属性 x 的值。...如果读取未定义的属性,则返回值都是 undefined。 删除属性 使用 delete 运算符可以删除对象属性。 示例 下面示例使用 delete 运算符删除指定属性。...var obj = {x : 1}; //定义对象delete obj.x; //删除对象属性xconsole.log(obj.x); //返回undefined 当删除对象属性之后,不是将该属性值设置为...undefined,而是从对象中彻底清除属性。...如果使用 for/in 语句枚举对象属性,只能枚举属性值为 undefined属性,但不会枚举已删除属性。 使用方法 方法也是函数,当函数被赋值给对象属性,就被称为方法。

    16K00

    js对象属性的getter和setter

    故温故一遍getter和setter定义属性的方法。 通过对象字面量定义get和set方法 有个注意的地方,get与set的函数体都不能再定义本身该属性,否则执行的时候会陷入死循环,抛出栈溢出。...在对象字面量中,同一个属性不能有两个get,也不能既有get又有属性键值(不允许使用 { get x() { }, get x() { } } 和 { x: …, get x() { } } ) 在同一个对象中...= { set current (str) { return this.log[this.log.length] = str; }, log: [] } 此处current的值为undefined...双向数据绑定底层的思想非常的基本,它可以被压缩成为三个步骤: 1.我们需要一个方法来识别哪个UI元素被绑定了相应的属性 2.我们需要监视属性和UI元素的变化 3.我们需要将所有变化传播到绑定的对象和元素...}); } catch (error) { // IE8+ 才开始支持defineProperty,这也是Vue.js

    3.2K50

    js对象属性描述符详细介绍

    属性描述符是 ECMAScript 5 新增的语法,它其实就是一个内部对象,用来描述对象属性的特性。属性描述符的结构在 JavaScript 中,对象属性描述符用于描述和定义对象属性的特性。...操作属性描述符属性描述符是一个内部对象,无法直接读写,可以通过下面几个函数进行操作。Object.getOwnPropertyDescriptor( ):可以读出指定对象私有属性属性描述符。...Object.getOwnPropertyNames( ):获取对象的所有私有属性。Object.keys( ):获取对象的所有本地可枚举的属性。...Object.preventExtensions:阻止为对象添加新的属性。Object.seal:阻止为对象添加新的属性,同时也无法删除旧属性。...总的来说,对象属性描述符提供了对对象属性行为进行详细控制和定义的能力,包括可配置性、可枚举性、可写性、获取和设置方法等。这使得我们能够更好地管理和操作对象中的各个属性

    21710

    JS中轻松遍历对象属性的几种方式

    自身可枚举属性 Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。...如果对象的键-值都不可枚举,那么将返回由键组成的数组。 这是合理的,因为大多数时候只需要关注对象自身的属性。...对象属性的顺序 JS 对象是简单的键值映射,因此,对象属性的顺序是微不足道的, 在大多数情况下,不应该依赖它。 在ES5和早期标准中,根本没有指定属性的顺序。...总结 Object.values() 和Object.entries() 是为JS开发人员提供新的标准化辅助函数的另一个改进步骤。...此函数还可以轻松地将纯JS对象属性映射到Map对象中。、 注意,Object.values()和Object.entries()返回数据的顺序是不确定的,所以不要依赖该方式。

    13.6K20
    领券