属性的读写


//属性添加
var obj = {x:1,y:2}; obj.z = 3; obj["m"] = 4;
//属性的读取
var obj = {x: 1, y: 2, z: 3, m: 4}; for(p in obj){
console.info(p);
}

属性的删除


var person = {age:45,name:"tom"};

person.age  //

delete person.age   //true

person.age  //undefined

属性标签【configurable】

var obj = {age:1,name:"cat"};

Object.getOwnPropertyDescriptor(obj,'age');    

//Object {value: 1, writable: true, enumerable: true, configurable: true};
//getOwnPropertyDescriptor()方法--查看age的属性标签 Object.defineProperty(obj,'age',{configurable:false}); //设置age属性configurable标签为false【表示age属性不可配置】 Object.getOwnPropertyDescriptor(obj,'age');
Object {value: 1, writable: true, enumerable: true, configurable: false}; delete obj.age //false obj.age //

不能删除的特殊情况


1 var定义的全局变量与局部变量

var globalValue = 90;

delete globalValue  //false

(function(){
var localValue = 90;
return delete localValue;
})(); //false //隐式的创建全局变量是可以删除的
yinshi = 90;

delete yinshi  //true

2 全局定义函数与局部定义的函数

function test(){}
delete test; //false (function(){
function localfunction(){};
return delete localfunction; //false
})();

判断属性是否存在


var dog = {};

dog.name = "dong";

dog.age = 89;

"name" in dog;  //true

"abc" in dog  //false

"toString" in  dog //true    //in操作符 会查找原型链。

dog.hasOwnProperty('name');  //true

dog.hasOwnProperty('toString');  //false   不查找原型链用hasOwnProperty方法

属性的枚举


var o = {x:1,y:2,z:3}

for(key in o){
console.info(key) //x y z
} Object.keys(o) //["x", "y", "z"]

【Enumerable】属性标签


var o = {x:1,y:2,z:3}

//propertyIsEnumerable 检测属性的【Enumerable】为true or false

o.propertyIsEnumerable('x')  //true

o.propertyIsEnumerable('y')  //true

o.propertyIsEnumerable('z')  //true

o.propertyIsEnumerable('toString') //false

//只有propertyIsEnumerable为true的属性,可以枚举
for(key in o){
console.info(key) //x y z
}
var o = {x:1,y:2,z:3}

//设置对象的x属性【enumerable】标签为false

Object.defineProperty(o,'x',{enumerable:false})

o.propertyIsEnumerable('x')  //false

for(key in o){
console.info(key) //y z
}

javascript属性操作的更多相关文章

  1. JavaScript 属性操作

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  2. 深入理解javascript对象系列第二篇——属性操作

    × 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...

  3. JavaScript 节点操作Dom属性和方法(转)

    JavaScript 节点操作Dom属性和方法   一些常用的dom属性和方法,列出来作为手册用. 属性:   1.Attributes 存储节点的属性列表(只读)   2.childNodes 存储 ...

  4. jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式 ⑤ 事件 点击变色

    jQuery的min版本和原版功能是一样的,min版主要应用于已经开发成的网页中,而非min版 的文件比较大,里面有整洁的代码书写规范和注释,主要应用于脚本开发过程当中. JQuery是继protot ...

  5. 2016/4/1 jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式 ⑤ 事件 点击变色

    jQuery的min版本和原版功能是一样的,min版主要应用于已经开发成的网页中,而非min版 的文件比较大,里面有整洁的代码书写规范和注释,主要应用于脚本开发过程当中. JQuery是继protot ...

  6. 了解JavaScript 对象的属性操作

    提起操作, 很多人都会想到我们学习过程中最经常做的操作, 就是对数据库进行增, 删, 改, 查, 既然提到这个, 那么对于对象的属性操作也不例外, 基本上可以说也是这几个操作. JS中对象的属性标签 ...

  7. JavaScript基础学习日志(1)——属性操作

    JS中的属性操作: 属性操作语法 属性读操作:获取 实例:获取Input值 实例:获取select值 字符串连接 属性写操作:修改.添加 实例:修改value值 实例:添加图片的src地址 inner ...

  8. javascript DOM 操作 attribute 和 property 的区别

    javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...

  9. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

随机推荐

  1. MicroPython最全资料集锦丨TPYBoard全系列教程之文档+例程源码

    MicroPython成功将Python引入到嵌入式领域,近几年MicroPython的发展和普及也证明,Python无疑将在未来几年内快速抢占和蚕食C/C++的份额.包括现在比较火爆的机器人.无人机 ...

  2. MicroPython之TPYBoard v102开发板控制OLED显示中文

    转载请以链接形式注明文章来源,公众号:MicroPython玩家汇 0x00前言 之前看到一篇文章是关于TPYBoardv102控制OLED屏显示的,看到之后就想尝试一下使用OLED屏来显示中文.最近 ...

  3. [Spark内核] 第31课:Spark资源调度分配内幕天机彻底解密:Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结

    本課主題 Master 资源调度的源码鉴赏 [引言部份:你希望读者看完这篇博客后有那些启发.学到什么样的知识点] 更新中...... 资源调度管理 任务调度与资源是通过 DAGScheduler.Ta ...

  4. voip技术研究

    voip:是一种通过ip现实电话通信的技术统称 sip:voip现在一般都采用sip协议 参考资料: android sip学习 问题: SipManager.newInstance(this)为nu ...

  5. Mac appium apk覆盖性安装的问题

    /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/n ...

  6. GBK,UNICODE,GB2312,UTF-8学习总结

    转自http://www.cnblogs.com/pannengzhi/p/5678495.html UNICODE,GBK,UTF-8区别 前言 其实这是个老生常谈的问题了,相信大家在第一次遇到Un ...

  7. 更改CentOS 7更新源为国内阿里云提供的源

    1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base ...

  8. ionic 横向滚动 ion-scroll 进度条(步骤)// 根据后台数据控制当前默认滑动到的位置

    <ion-scroll zooming="false" direction="x" style="width: 100%;" scro ...

  9. Java关于使用“final”修饰基本类型的注意事项

    今天无意发现这样一道题,可以先做做看: 正确答案是BCD. 至于原因有人给出了参考答案: 1.所有的byte,short,char型的值将被提升为int型: 2.如果有一个操作数是long型,计算结果 ...

  10. ogg的孩子-无损音频编解码flac

    flac是一款无损的音频压缩编码,它的特点是对音频文件进行无损压缩,目前是被很多软件及智能硬件产品所支持. 从技术上来讲,该编解码的优点还是十分明显的,无损压缩,策略灵活,解码快速,硬件支持等特点都是 ...