专栏首页nummyJS遍历属性

JS遍历属性

可枚举属性

对象属性可枚举,表示该属性的值不可修改,可认为该属性是常量。 如何定义不可枚举的属性?

var obj = {name: 'jack', age:23}
Object.defineProperty(obj, 'id', {value : '123', enumerable : false });

获取对象所有可枚举属性

使用Object.keys(obj)可以获取对象obj自身所包含的所有可枚举属性。 例如:

  var arr = ["a", "b", "c"];
    console.log(Object.keys(arr)); // console: ["0", "1", "2"]


    var obj = { 0 : "a", 1 : "b", 2 : "c"};
    console.log(Object.keys(obj)); // console: ["0", "1", "2"]


    var an_obj = { 100: "a", 2: "b", 7: "c"};
    console.log(Object.keys(an_obj)); // console: ["2", "7", "100"]


    var my_obj = Object.create({}, { getFoo : { value : function () { return this.foo } } });
    my_obj.foo = 1;

    console.log(Object.keys(my_obj)); // console: ["foo"]

获取对象所有的实例属性

Object.getOwnPropertyNames(obj) ;//获得对象上所有的“实例属性”

判断对象是否拥有实例属性

obj.hasOwnProperty(‘id’); 
//只要该对象obj拥有属性id, 无论id是否可枚举,都返回true
for(var i  in obj){ } 
// 表示访问对象所有可枚举的属性,包括可枚举的实例属性和可枚举的原型对象的属性
“name”  in obj   
// 通过对象能够访问给定属性名时返回true, 无论该属性存在于实例中还是原型对象中

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Tornado入门(七)【认证和安全】

    Cookies信息通常不安全,很容易被篡改。如果需要通过cookies来区分不同的登录用户,则需要对cookies进行签名,以防伪造。Tornado通过set_...

    用户2936342
  • reStructuredtext快速入门

    reStructuredText是一种reStructuredText是一种轻量级的文本标记语言,简单易读,所见即所得的文本标记语言。

    用户2936342
  • ECMAScript5 Object的新属性方法

    虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流...

    用户2936342
  • 【前端】:对象、原型、继承

    在 ES5 之前,JavaScript 语言本身并没有提供可以直接检测属性特性的方法,比如判断属性是否是只读。但是从 ES 开始,所有的属性都具备了属性描述符。

    WEBJ2EE
  • Windows10+texlive2018+texstudio

    武培轩
  • 2015.12.15 HTML5真题练习

    HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.14日关于引用类型变量的题目解答,以及一道涉及操作符优先级的题目。 HTML5真题【2015.12.1...

    HTML5学堂
  • 【数据库搭建】数据库SQL2000安装教程

    首先就是数据库SQL2000的下载,可以到“msdn我告诉你”网站(网址:http://www.itellyou.cn/)的服务器选项找到相应数据库版本

    chenzhouliyan
  • 面板环境的安装

    安装完成在浏览上打开面板的地址,登入面板,面板会自动推荐你安装环境套件,这里有两种选择,第一种是LNMP套件,第二种是LAMP套件:

    霹格软件
  • 【译】走进Two Sigma,科学家帮你挑选股票

    大数据文摘
  • 神经网络ANN——SPSS实现

    传统线性回归模型可通过最小平方方法获取知识并在回归系数存储知识。在此意义下,其为神经网络。实际上,您可以证明线性回归为特定神经网络的特殊个案。但是,线性回归具有...

    素质

扫码关注云+社区

领取腾讯云代金券