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 对象属性的更多相关文章

  1. 删除要被替换的元素的所有事件处理 程序和 JavaScript 对象属性

    使用本节介绍的方法替换子节点可能会导致浏览器的内存占用问题,尤其是在 IE 中,问题更加明显.在删除带有事件处理程序或引用了其他 JavaScript 对象子树时,就有可能导致内存占用问题.假设 某个 ...

  2. Javascript对象属性与方法汇总

    Javascript对象属性与方法汇总 发布时间:2015-03-06 编辑:www.jquerycn.cn 详细介绍下,javascript对象属性与对象方法的相关知识,包括javascript字符 ...

  3. JavaScript对象属性的基础教程指南

    JavaScript是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把JavaScript能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编 ...

  4. JavaScript对象属性访问的两种方式

    JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "f ...

  5. js 技巧 (六)JavaScript[对象.属性]集锦

    JavaScript[对象.属性]集锦 SCRIPT 标记 用于包含javascript代码. 语法 属性 LANGUAGE 定义脚本语言 SRC 定义一个URL用以指定以.JS结尾的文件 windo ...

  6. javascript对象属性和数组的访问

    javascript对象属性的访问 假如有对象test:var test = {  "a":1,  "b":2};直接访问对象test的属性a的值,有两种方法: ...

  7. 了解JavaScript 对象属性的标签

    对象属性的标签 value(属性值), writable(属性可写), enumerable(属性可枚举), configurable(属性可配置), 这些属性标签使对象所持有的属性体现出不同的特性, ...

  8. JavaScript对象属性(一)

    对象object  对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的. 这是一个示例对象: var cat = { "name": "W ...

  9. JavaScript对象属性 constructor

     对象属性 constructor 属性返回对创建此对象的数组函数的引用; constructor(构造函数) 在对象创建或实例化时候被调用的方法.通常使用该方法来初始化数据成员和所需资源.构造函数不 ...

随机推荐

  1. CentOS 上使用vscode 调试百度大数据分析框架Apache Doris BE

    A: 前期准备工作 1. 安装vscode,详细请参见vscode官网https://code.visualstudio.com/docs/setup/linux,摘要如下: sudo rpm --i ...

  2. 529. Minesweeper

    ▶ 扫雷的扩展判定.已知棋盘上所有点的情况(雷区 'M',已翻开空白区 'B',未翻开空白区 'E',数字区 '1' ~ '8'),现在给定一个点击位置(一定在空白区域),若命中雷区则将被命中的 M ...

  3. 「小程序JAVA实战」小程序的关注功能(65)

    转自:https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudeguanzhugongneng64/ 在个人页面,根据发布者个人和 ...

  4. 带参数setTimeout

    /*         功能:修改 window.setTimeout,使之可以传递参数和对象参数         使用方法: window.setTimeout(回调函数,时间,参数1,,参数n)   ...

  5. 迷你MVVM框架 avalonjs 0.94发布

    本版本主要做了如下改进: 优化ms-if的逻辑,现在描述DOM的顺序是 ms-skip, ms-important, ms-controller, ms-if ... 只要元素存在ms-skip 这个 ...

  6. 分区恢复和NTFS文件恢复试验

    一.实验室名称:主楼实验室A2-412                  二.实验项目名称:分区恢复和NTFS文件恢复试验 三.实验学时:6学时 四.实验原理: 借助fdisk.diskgen软件对磁 ...

  7. set 续2

    --------siwuxie095                 用 set 命令进行字符串处理(这个不应只属于 set 的内容,应该归属于格式内容, 在没有 set 的情况下,格式仍旧适用)   ...

  8. md5,原理待续

    以前项目中copy出来的 import java.security.MessageDigest; public class MD5Util { /** * @todo MD5加码 生成32位md5码 ...

  9. Elk+redis的配置

    1.先到网站上下载 https://www.elastic.co/cn/downloads,需要的工具 Elasticsearch,Kibana,Logstash,Filebeat. 先把redis安 ...

  10. cnblog博客管理

    http://www.cnblogs.com/wc1903036673/                                        12436109 https://www.cnb ...