JavaScript 对象属性
JavaScript 对象属性
- 属性中的 . 和 [ ](点 和 方括号)的区别
. :取对象自身的属性值;
[ ]:括号内容可以是变量;
var obj = {};
obj.name = 'Twx';
var nameA = 'name';
// 使用
obj['name'] = 'Twx'; 等价于 obj[nameA] = 'Twx';
- 属性的删除
delete obj.name; // delete obj['name'];
- 属性的检测(判断属性是否属于对象)
1. in 运算符
'name' in obj = true; => 结果是 布尔 类型
2. hasOwnProperty([变量名称])
1 hasOwnProperty('name') = true; => 结果是 布尔 类型
3. != undefined (未定义)
1 obj.name != undefined => true; // 结果是 布尔 类型
- 枚举属性(for in 遍历)
1. for in 遍历中,对象 遍历出的是 key 值
var obj = {x:1,y:2,z:3};
for(a in obj){
a; //x,y,z key 值
obj[a]; //1,2,3 value 值
}
2. for in 遍历中,数组 遍历出的是 索引 值
var arr = [{x:1},{y:2},{z:3}];
for(a in arr){
a; //0,1,2 数组的索引值
}
3. 数组另两种遍历方式
3.1 for(var i = 0;i < 10;i++){ ... }
for(var i = 0;i < 10; i++){
...
// 同步执行
}
3.2 $.each(arr, function(index【索引】,item【值】){ ... })
$.each(arr, function(index【索引】,item【值】){
...
// 异步执行
});
4. 序列化
浅拷贝 只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝(例:assign())
深拷贝 是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变,这就是深拷贝(例:JSON.parse()和JSON.stringify(),但是此方法无法复制函数类型)
// 深拷贝案例
var obj = {x:1,y:2,z:3};
JSON.stringify(obj); //string {'x':1,'y':2,'z':3};
typeof(JSON.stringify(obj)); //string
var str = JSON.stringify(obj);
JSON.parse(str); // object
5. ajax 传参 数据方式
var data = {
'name':_name,
'age':_age,
...
}
// ajax
data:{dataJson:JSON.stringify(data)} // 传参
JavaScript 对象属性的更多相关文章
- 删除要被替换的元素的所有事件处理 程序和 JavaScript 对象属性
使用本节介绍的方法替换子节点可能会导致浏览器的内存占用问题,尤其是在 IE 中,问题更加明显.在删除带有事件处理程序或引用了其他 JavaScript 对象子树时,就有可能导致内存占用问题.假设 某个 ...
- Javascript对象属性与方法汇总
Javascript对象属性与方法汇总 发布时间:2015-03-06 编辑:www.jquerycn.cn 详细介绍下,javascript对象属性与对象方法的相关知识,包括javascript字符 ...
- JavaScript对象属性的基础教程指南
JavaScript是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把JavaScript能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编 ...
- JavaScript对象属性访问的两种方式
JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "f ...
- js 技巧 (六)JavaScript[对象.属性]集锦
JavaScript[对象.属性]集锦 SCRIPT 标记 用于包含javascript代码. 语法 属性 LANGUAGE 定义脚本语言 SRC 定义一个URL用以指定以.JS结尾的文件 windo ...
- javascript对象属性和数组的访问
javascript对象属性的访问 假如有对象test:var test = { "a":1, "b":2};直接访问对象test的属性a的值,有两种方法: ...
- 了解JavaScript 对象属性的标签
对象属性的标签 value(属性值), writable(属性可写), enumerable(属性可枚举), configurable(属性可配置), 这些属性标签使对象所持有的属性体现出不同的特性, ...
- JavaScript对象属性(一)
对象object 对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的. 这是一个示例对象: var cat = { "name": "W ...
- JavaScript对象属性 constructor
对象属性 constructor 属性返回对创建此对象的数组函数的引用; constructor(构造函数) 在对象创建或实例化时候被调用的方法.通常使用该方法来初始化数据成员和所需资源.构造函数不 ...
随机推荐
- 利用IOS画图功能画出五角星,并且可以调整五角星的填充范围
我们要花的为一个黄色的五角星并且其中的填充黄色能够任意调整,比如只填满半个五角星,或者只填满一个角等等. 首先要重写DrawRect 方法,然后在这里实现我们的画图代码. - (void)drawRe ...
- 【转】iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 受此影响,当你的应用在 ...
- 263. Ugly Number + 264. Ugly Number II + 313. Super Ugly Number
▶ 三个与丑数相关的问题 ▶ 第 263题,判定一个数字是否是丑数,即其素因子是否仅由 2,3,5 构成. ● 常规消除判别,4 ms class Solution { public: bool is ...
- vs2015 新特性
vs2015 新特性 自动属性的增强 http://www.kwstu.com/ArticleView/manong_201411200854239378
- How do I prevent Eclipse from hanging on startup?
Under Eclipse 3.6 (Helios), the corresponding file seems to be .metadata/.plugins/org.eclipse.core.r ...
- MYSQL TIMESTAMP with implicit DEFAULT value is deprecated.
TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp se ...
- jquery中的属性和样式设置
添加属性 $target.attr({"title":"one piece","name":"solgan"}); 为目 ...
- 39-python 字符串替换+正则
from bs4 import BeautifulSoup import urllib.request import re moduel =re.compile('<.*?>') st = ...
- wcf 调试
1>在开发环境中调试,我们先在WCF服务上将服务Serivce1.svc设置为启动页面 然后在WCF上Debug中启动新实例 服务就启动起来了 2>wcf发布以后调试,只需在Visual ...
- JavaScript事件 DOMNodeInserted DOMNodeRemoved
JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定交互的瞬间.可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码. 13.1 事件流 ...