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 ...
随机推荐
- MicroPython最全资料集锦丨TPYBoard全系列教程之文档+例程源码
MicroPython成功将Python引入到嵌入式领域,近几年MicroPython的发展和普及也证明,Python无疑将在未来几年内快速抢占和蚕食C/C++的份额.包括现在比较火爆的机器人.无人机 ...
- MicroPython之TPYBoard v102开发板控制OLED显示中文
转载请以链接形式注明文章来源,公众号:MicroPython玩家汇 0x00前言 之前看到一篇文章是关于TPYBoardv102控制OLED屏显示的,看到之后就想尝试一下使用OLED屏来显示中文.最近 ...
- [Spark内核] 第31课:Spark资源调度分配内幕天机彻底解密:Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结
本課主題 Master 资源调度的源码鉴赏 [引言部份:你希望读者看完这篇博客后有那些启发.学到什么样的知识点] 更新中...... 资源调度管理 任务调度与资源是通过 DAGScheduler.Ta ...
- voip技术研究
voip:是一种通过ip现实电话通信的技术统称 sip:voip现在一般都采用sip协议 参考资料: android sip学习 问题: SipManager.newInstance(this)为nu ...
- Mac appium apk覆盖性安装的问题
/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/n ...
- GBK,UNICODE,GB2312,UTF-8学习总结
转自http://www.cnblogs.com/pannengzhi/p/5678495.html UNICODE,GBK,UTF-8区别 前言 其实这是个老生常谈的问题了,相信大家在第一次遇到Un ...
- 更改CentOS 7更新源为国内阿里云提供的源
1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base ...
- ionic 横向滚动 ion-scroll 进度条(步骤)// 根据后台数据控制当前默认滑动到的位置
<ion-scroll zooming="false" direction="x" style="width: 100%;" scro ...
- Java关于使用“final”修饰基本类型的注意事项
今天无意发现这样一道题,可以先做做看: 正确答案是BCD. 至于原因有人给出了参考答案: 1.所有的byte,short,char型的值将被提升为int型: 2.如果有一个操作数是long型,计算结果 ...
- ogg的孩子-无损音频编解码flac
flac是一款无损的音频压缩编码,它的特点是对音频文件进行无损压缩,目前是被很多软件及智能硬件产品所支持. 从技术上来讲,该编解码的优点还是十分明显的,无损压缩,策略灵活,解码快速,硬件支持等特点都是 ...