属性遍历:in操作符/Object.keys()/ Object.getOwnPropertyNames()

别再只会用官网例子了!Vxe-Table过滤功能深度自定义:从下拉框到服务端筛选的完整配置流程 本文深入解析Vxe-Table表格组件的过滤功能,从基础UI定制到服务端筛选的完整实现流程。通过实战案例演示如何超越官方示例,实现下拉框、日期范围等复杂过滤交互,并详细讲解混合过滤策略与性能优化技巧,帮助开发者应对大数据量场景下的表格筛选需求。 阅读详情

in操作符

1.单独使用,判断是否能通过某个实例访问到某个属性

function Person(){
}
Person.prototype.name = "Nicholas";
Person.prototype.age = 29;
Person.prototype.job = "Software Engineer";
Person.prototype.sayName = function(){
    alert(this.name);
};
var person1 = new Person();
alert(person1.hasOwnProperty("name"));  //false
alert("name" in person1);  //true  name属性在实例的原型中
person1.name = "Greg";
alert(person1.name); //"Greg"      alert(person1.hasOwnProperty("name")); //true 
alert("name" in person1); //true name属性在实例中

判断通过person对象能否访问到”name”属性。不管这个“name”属性是在person中访问到的还是在person的原型中访问到的,都会返回true。

2.在for-in循环中使用

var o = {
    toString : function(){
        return "My Object";
    }
};
for (var prop in o){
    if (prop == "toString"){
        alert("Found toString"); // 在IE中不会弹框
  } }

1.返回所有能够通过对象访问的、可枚举的属性,即包括实例中存在的属性也包括实例的原型中存在的属性。
2.在IE中enumerable属性为false的属性在for-in中不会显示出来,但是在别的浏览器中可以显示出来。这是IE早期版本的一个bug。

Object.keys()方法

function Person(){
}
Person.prototype.name = "Nicholas";
Person.prototype.age = 29;
Person.prototype.job = "Software Engineer";
Person.prototype.sayName = function(){
    alert(this.name);
};
var keys = Object.keys(Person.prototype);
alert(keys);       //"name,age,job,sayName"
var p1 = new Person();
p1.name = "Rob";
p1.age = 31;
var p1keys = Object.keys(p1);
alert(p1keys);    //"name,age"

1.Object.keys()方法接受一个对象参数,返回一个传进来的对象中的可枚举属性的字符串数组。
2.如果传入的是实例的原型,返回的就是原型中的属性。如果传入的是实例,返回的就是实例中的属性。
3.此方法返回的属性都是可枚举的。

Object.getOwnPropertyNames()

  var keys = Object.getOwnPropertyNames(Person.prototype);
  alert(keys);    //"constructor,name,age,job,sayName"

如果想得到所有的实例属性,使用Object.getOwnPropertyNames()方法,可以返回实例中所有的属性,包括不可枚举的属性,这是传递的参数应该是实例的原型。因为实例中找不到属性的时候回去实例的原型中找。

IDEA的使用指南 IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧. 立即下载

相关推荐

告别手动群发!用IDA Pro和CE搞定企业微信4.1.38.6011的HOOK开发(附完整代码)

本文详细介绍了如何利用IDA Pro和Cheat Engine进行企业微信4.1.38.6011的HOOK开发,实现自动化群发功能。从逆向工程环境配置、关键函数定位到HOOK框架设计,提供完整代码示例,帮助企业提升运营效率。

weixin_42533120的博客 478

Object.keys使用整理

一、语法 Object.keys(obj) 参数:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的字符串数组 二、处理对象,返回可枚举的属性数组 let person = { name: "张三", age: 25, address: "深圳", getName: function() ...

weixin_30897079的博客 1898

别再死记硬背了!用Python可视化带你直观理解柯西收敛定理(附NumPy代码)

本文通过Python可视化技术,结合NumPy和Matplotlib,直观展示柯西收敛定理的动态过程。文章提供了完整的代码实现,帮助读者从抽象数学定义过渡到具象理解,特别适合数学学习者和Python开发者。通过热力图和交互式参数探索,读者可以清晰观察数列收敛特性,提升数学分析的学习效率。

weixin_28465009的博客 185

Object.keys方法之详解

Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致。

XUELINGMM的博客 9553

光伏系统选型指南:5种主流MPPT算法优缺点对比(附选型流程图)

本文深入剖析了光伏系统中五种主流MPPT算法的核心原理与性能差异。通过对比扰动观察法、电导增量法、恒定电压法、模糊逻辑控制及人工智能算法在追踪精度、响应速度、实现成本与稳定性等方面的表现,为不同应用场景(如户用、工商业及大型电站)提供了清晰的选型决策流程图和实战指南,帮助工程师优化系统效率与投资回报。

weixin_29294597的博客 106

STM32F103C8T6+I2C+DMA读取陀螺仪模块JY901S(硬件I2C

说明:1.本实验代码适用移植一切stm32f1系列;2.本实验使用的是外设资源硬件I2C2;3.本实验运用的是DMA单次模式,如果需要DMA的循环模式,请移步我的另一篇文章;4.本文章不提供陀螺仪校准教学,并是在没有校准陀螺仪情况下读取数据;5.本文章是作者的学习记录及心得,如有不足,欢迎指正。 总结:亲测stm32f103c8t6最小系统板通过片上外设资源I2C配合DMA读去陀螺仪模块jy901s偏航角有效。

anquanyuanqqadsy的博客 6170

Object.keys()

Object.values(obj)返回值是一个包含对象自身的所有可枚举属性值的数组。处理数据,比如后端返回的数据是obj形式的,想要对相同的数据进行层级归类。2. 返回对象中每一项key的。(遍历一个对象,返回一个全是key的数组)(必须包含属性和方法的对象);

outstanding木槿 1万+

国产信创服务器软硬件兼容情况1 --- ARM架构

信创,即信息技术应用创新产业,它是数据安全、网络安全的基础,也是新基建的重要组成部分...

一只猿的自我修养 4739

(详解)Object.keys() Object.values() Object.entries()

2.处理数组,返回索引值数组3.处理字符串,返回索引值数组4.常用技巧。

大雾起了清晨 4738

杰理AC696N系列芯片外部中断使用教程

本教程详细介绍了杰理AC696N芯片的GPIO引脚中断唤醒功能实现方法。主要内容包括: 功能特点: 支持任意GPIO引脚配置为中断源 可灵活选择上升沿或下降沿触发 提供自定义中断回调函数接口 核心实现: 通过port_wkup_interrupt_init()函数配置GPIO属性 使用request_irq()注册中断服务程序 提供中断使能/关闭接口 注意事项: 此功能在低功耗模式下无效 需注意引脚冲突和中断优先级设置 建议在回调函数中实现简洁的逻辑 应用场景: 按键检测 外部信号监测 事件触发等 本方案提

qq_42014563的博客 944

Win7/10/11文件拖拽导致资源管理器闪退问题

最近老是遇到把文件从资源管理器拖动到微信或者浏览器时,资源管理器直接闪退的问题,一开始在公司遇到了还以为是电脑配置太低,直到被封闭在家办公,发现自己的高级电脑也有这个问题,那就来了解了解问题是出在什么地方把。

Nicer_feng's blog 1万+

JS中三种主要的遍历对象的方法:for in、Object.keys、Object.getOwnProperty

一、对非Array对象类型的遍历 1、for in 主要用于遍历对象的可枚举属性,包括自有属性、继承自原型的属性 var obj = {"name":"tom","sex":"male"}; Object.defineProperty(obj, "age", {value:"18", enumerable:false});//增加不可枚举的属性age Object.prototype.p...

tomy123456123456的博客 17万+

手把手实现STM32+ESP8266+原子云服务器+手机APP应用——第三节-编写STM32程序实现STM32+ESP8266+原子云服务器+手机APP互相通信—远程数据传输及控制灯

接上一篇,本节使用原子云服务器。编写STM32程序实现STM32+ESP8266+原子云服务器+手机APP互相通信—远程数据传输及控制灯。使用的硬件包括:STM32F103(任意其他款系列也可以的)、正点原子ATK-ESP8266、LED灯。实现编写STM32程序代码来传输单片机数据到原子云服务器和手机APP进行显示,同时通过手机APP和原子云服务器可以远程控制单片机,例如本节实现远程点/灭灯,以此可以扩展开发更多的功能。本专栏本系列的相关文章可查看下面链接:

嵌入式阿齐Archie 8409

JavaScript中Object.getOwnPropertyNames()与Object.keys(obj)的区别

大部分情况下Object.getOwnPropertyNames()与Object.keys(obj)的功能是一样的,我们一般也是用来获取一个JSON对象中所有属性,例如 const obj = { property1: 1, property2: 2, }; console.log(Object.keys(obj)); console.log(Object.getOwnProp...

K.Sun 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JavaScript中keys()和getOwnPropertyNames()详解。

   除了for/in循环之外,ECMAScript 5定义了两个用以枚举属性名称的函数。第一个是Object.keys(), 它返回一个数组,这个数组由对象中可枚举的自有属性的名称组成。 语法: Object.keys(obj) 参数 obj     要返回其枚举自身属性的对象。 返回值 一个表示给定对象的所有可枚举属性的字符串数组。 描述 Object.keys 返回一个所有元素...

wzg0817的博客 3689

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

遍历对象:一文搞懂for in、for of、Object.keys()、Object.getOwnPropertyNames()、Object.getOwnPropertySymbols()的区别

一、对象属性理解 比如:数组中的length属性,描述符对象enumerable值为false,隐式属性。 看下正常的数组和对象的属性: var arr = ["a", true, 3] var obj = { name: "zhu", age: 24 } console.log(arr) console.log(obj) 二、关于遍历 1、for...in循环

zyz00000000的博客 934

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

对象属性 Object.getOwnPropertyNames() Object.keys for...in

1.Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。 Object.getOwnPropertyNames(obj) 参数obj是一个对象,其自身的可枚举和不可枚举属性的名称被返回。 返回值是:在给定对象上找到的自身属性对应的字符串数组。 实例: var arr = [...

weixin_30332241的博客 336

JS遍历对象属性(for in、Object.keys、Object.getOwnPropertyNames、for of、Reflect.ownKey

js中几种遍历对象的方法,包括for in、Object.keys、Object.getOwnPropertyNames、for of 、Reflect.hasOwn()它们在使用场景方面各有不同。 for in 主要用于遍历对象的可枚举属性,包括自有属性、继承自原型的属性。 var obj = {"name":"Poly", "career":"it"} Object.defineProperty(obj, "age", {value:"forever 18", enumerable:false}); O

EmotionComputer 2600

JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别

ECMAScript将对象的属性分为两种:数据属性和访问器属性。每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以理解为:是否可枚举。 然后根据具体的上下文环境的不同,我们又可以将属性分为:原型属性和实例属性。原型属性是定义在对象的原型(prototype)中的属性,而实例属性一方面来自己构造函数中,然后就是构...

weixin_34194379的博客 96

JS遍历对象属性的7种方式

在有些开发场景下,可能需要获取一个对象的所有属性字段名,或者同时获取属性字段名和属性值,比如下面的一个普通的对象:},属性值为,实际过程中的对象可能更加复杂,字段也会更多。对于遍历一个对象的属性,最容易想到的就是使用。...

蜗牛在奔跑的博客 2万+

可枚举属性和不可枚举属性(for...in循环和Objec.keys()和Object.getOwnPropertyNames())

for...in循环是 遍历对象的每一个可枚举属性,包括原型链上面的可枚举属性,而Object.keys()只是遍历自身的可枚举属性,不可以遍历原型链上的可枚举属性. 这是for...in和Object.keys()的主要区别,而Object.getOwnPropertyNames()则是遍历自身所有属性(不论是否是可枚举的),不包括原型链上面的. 举个例子: function ...

包磊磊的博客 620

(for..in)、Object.keys()和Object.getOwnPropertyNames(),for...of

Object.keys(obj),返回一个数组,数组里是该obj可被枚举的所有属性。请看示例: 示例一: function Pasta(grain, width, shape) { this.grain = grain; this.width = width; this.shape = shape;

qq_40479190的博客 1374

Reflect.ownKeys()与Object.keys()区别 以及 JS中的可枚举属性与不可枚举属性

代码test1: var obj = {} Object.defineProperty(obj, 'method1', { value: function () { alert("Non enumerable property"); }, enumerable: false }) console.log(Object.keys(obj)) // [] ...

happyqyt的专栏 4595

论Object.keys(), Object.getOwnPropertyNames(), for in, Object.getOwnPropertySymbol()区别

前不久,一朋友求助,让我给解释一波Object.keys(), Object.getOwnPropertyNames(), for in的区别,面试中好几次呗问了。所以,抽了点时间看了看,大概把我看的过程中做的demo记录一下。 看了网上一些关于介绍Object.keys(), Object.getOwnPropertyNames(), for in, Object.getOwnProp...

dixieping9791的博客 158
下一篇: 对象的创建:工厂模式/构造函数模式/原型模式 (笔记)
CodeCreator1818
博客等级 码龄11年 20粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值