属性的读写


//属性添加
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. MySQL中各种数据类型的长度及在开发中如何选择

    接触MySQL这个数据库大概快要两年了,不过由于没有特别深入系统的去学习,大多也是停留在一知半解的状态.今天在工作中刚好碰到了表设计的问题,顺便写篇博客,把MySQL中数据类型和字段类型选择这方面给弄 ...

  2. 轻松逃脱某防火墙对ss的探测

    ss里面有些诡异的日志(我用的是ss-go) 2017/10/1* 1*:5*:19 error getting request  ***:***  ***:*** EOF 这种日志不多,一般新开一个 ...

  3. 记录CentOS环境下将Solr部署到Tomcat

    首先切换到usr/local目录 cd /usr/local/ 下载tomcat到local目录 wget http://archive.apache.org/dist/tomcat/tomcat-7 ...

  4. Django_'utf-8' codec can't decode 问题解决

    最近用vs2017新建django模板项目时,页面输入中文时导致编码错误,如下图: 几经排查,原来是对应的html文件保存的编码错误,重新用utf-8保存即可

  5. Zedboard(一)开发环境Vivado

    Vivado是Xilinx(赛灵思)公司出品的开发软件平台,适用于Zedboard开发板. 下面介绍Vivado搭建的过程: 一.注册Xilinx账号.下载安装包 推荐到Xilinx(赛灵思)英文官网 ...

  6. RNN的简单的推导演算公式(BPTT)

    附上y=2x-b拟合的简单的代码. import numpy as np x = np.asarray([2,1,3,5,6]); y = np.zeros((1,5)); learning_rate ...

  7. jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式

    jQuery是继prototype之后又一个优秀的Javascrīpt框架.它是轻量级的js库(压缩后只有21k) , 它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safa ...

  8. 【Java学习笔记之七】java函数的语法规则总结

    函数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函数. ...

  9. Codeforces 834D The Bakery【dp+线段树维护+lazy】

    D. The Bakery time limit per test:2.5 seconds memory limit per test:256 megabytes input:standard inp ...

  10. POJ 3278 Catch That Cow(BFS,板子题)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 88732   Accepted: 27795 ...