javascript属性操作
属性的读写
//属性添加
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属性操作的更多相关文章
- JavaScript 属性操作
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 深入理解javascript对象系列第二篇——属性操作
× 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...
- JavaScript 节点操作Dom属性和方法(转)
JavaScript 节点操作Dom属性和方法 一些常用的dom属性和方法,列出来作为手册用. 属性: 1.Attributes 存储节点的属性列表(只读) 2.childNodes 存储 ...
- jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式 ⑤ 事件 点击变色
jQuery的min版本和原版功能是一样的,min版主要应用于已经开发成的网页中,而非min版 的文件比较大,里面有整洁的代码书写规范和注释,主要应用于脚本开发过程当中. JQuery是继protot ...
- 2016/4/1 jquery 与javascript关系 ①取元素 ②操作内容 ③操作属性 ④操作 样式 ⑤ 事件 点击变色
jQuery的min版本和原版功能是一样的,min版主要应用于已经开发成的网页中,而非min版 的文件比较大,里面有整洁的代码书写规范和注释,主要应用于脚本开发过程当中. JQuery是继protot ...
- 了解JavaScript 对象的属性操作
提起操作, 很多人都会想到我们学习过程中最经常做的操作, 就是对数据库进行增, 删, 改, 查, 既然提到这个, 那么对于对象的属性操作也不例外, 基本上可以说也是这几个操作. JS中对象的属性标签 ...
- JavaScript基础学习日志(1)——属性操作
JS中的属性操作: 属性操作语法 属性读操作:获取 实例:获取Input值 实例:获取select值 字符串连接 属性写操作:修改.添加 实例:修改value值 实例:添加图片的src地址 inner ...
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- javascript DOM 操作
在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...
随机推荐
- NUnit实战,第一个测试类,测试事件触发是否是并行的
以前测试都是新建一个控制台测试的方式来进行,感觉版本管理啥的非常麻烦.也是非常原始的办法.后来想以前有写过测试单元,不过好久没弄了.Nuget了NUnit后写了正式的第一个测试类. 测试用例: 测试事 ...
- hive问题: For direct MetaStore DB connections, we don't support retries at the client level
已经配置好hive,mysql作为元数据的数据库.在hive中执行drop语句出错: drop table mytest; 错误提示如下: FAILED: SemanticException Unab ...
- LeetCode第[1]题(Java):Two Sum 标签:Array
题目: Given an array of integers, return indices of the two numbers such that they add up to a specifi ...
- ps 替换背景以及调整尺寸
领导吩咐我修改她的图片背景,尺寸, 屁颠屁颠去弄,半小时后发现大学里学的 ps 忘差不多了,这里总结一下修改图片背景以及尺寸的基本操作. 1. 去除原背景 方法一: 选中魔术橡皮擦, 点击原图中背景, ...
- 合并 CentOS 6.8 的两个ISO镜像
合并 CentOS 6.8 的两个ISO镜像 1.创建相关目录: [root@local ~] mkdir -p /mnt/dvd1 /mnt/dvd2 /mnt/dvd3 /mnt/iso 说明: ...
- SpringBoot中出现的错误
1.Field boy in com.huhu.SpringDemo.HelloController required a bean of type 'com.huhu.SpringBean.Boy' ...
- spring官方学习地址
1.http://projects.spring.io/spring-framework/ 2.https://github.com/spring-projects/spring-mvc-showca ...
- mysql数据库表结构与表约束
表结构操作: 添加单列:alter table tb_name add [column] col_name 添加一列: alter table `sudty` add `aaa` int; 添加多列: ...
- Mysql导入大文件报错(MySQL server has gone away(error 2006))
前言 我们在导入mysql数据时候,mysql客户端突然报错:MySQL server has gone away(error 2006) 类似这种情况,处理思路为:调节mysql允许导入包的大小即可 ...
- 数位DP入门:(bzoj1833+3209)
//我是来看文章创建时间的= = 膜拜了一下蔡大神.... 人生第一道自己写的数位DP...好吧以前是看题解然后也不知道为什么就过了的>_< 虽然说现在还是只会裸题= = 数位DP介绍: ...