
js 对象
发布日期:2022-02-08 04:20:56
浏览次数:2
分类:技术文章
本文共 2024 字,大约阅读时间需要 6 分钟。
对象
1、简介
- 创建对象,key有两种展示方式:key为变量、key为字符 var a=3; var obj={ [a]:10, // 创建对象时,如果key是一个变量,就需要写在 [ ] 里 a:20 // 这个a是一个字符Key };
- 描述对象下的属性 console.log(obj); // {3: 10, a: 20} key为变量时,创建时与创建完是不一样的 console.log(obj[a],obj[3]); // 10 10 变量key的描述方式 console.log(obj[“a”],obj.a); // 20 20 字符串key的描述方式
- 直接描述对象下有一个a的属性,值是1 obj.a=1; obj[“a”]=1; // 对象[字符key]=value; key就是属性名称,必须是字符串(ES5),不是字符串的会隐式转化为字符串 var a=“a”; obj[a]=1;//中括号的方式是可以带入变量作为key的,obj. 点 方法是不能使用变量;key是字符串时,必须加 " "
- object对象,属性名表示方式: 变量key—obj[a] (一种,除了使用变量名作为可以表示出来的属性名,但是可以使用变量的值为属性名,反正对象obj中真正存在的是变量的值,只不过他的值转化为了字符串); 字符key—obj[“a”] 或 obj.a (两种)
2、示例:
(1)变量作为key,创建对象属性及赋值 obj={a:1}; var b=10; //b的值会成为对象key obj[b]=2; console.log(obj[b]);//2 console.log(obj);//{10: 2, a: 1}(2)不给c赋值,则默认undefined
obj={a:1}; var c; obj[c]=2; console.log(obj[c]);//2 console.log(obj);//{a: 1, undefined: 2}(3)直接以obj[ ]的方式写入属性key,则中括号的内容就是变量key
obj={a:1}; obj[10]=2; console.log(obj[10]);//2 console.log(obj);//{10: 2, a: 1}(4)描述字符串key的两种方式
obj1={e:2,u:8}; console.log(obj1[“e”],obj1.u); //2 8(5)对象的遍历 for in 循环
for(var prop in obj1){ console.log(prop,obj1[prop]);//属性名 属性值 }(6) 属性名是数字排靠前,按数值大小排列;字母靠后,按写的顺序排列
var y = "z";obj1[y]=60;//在 obj1["r"] 前面var m ;obj1[m]=80;var gg = true;obj1[gg]=1;console.log(obj1[gg]);console.log(obj1[true]);var ll = { qq:11};obj1[ll]=33;obj1[2]=0; //添加到最前面obj1["4"]=40; //添加到 obj1[2]=0; 的后面obj1["r"]=98; //添加到最后面obj1.hh=50;for(var prop in obj1){ console.log(prop,obj1[prop]);//属性名 属性值// prop代表obj1下的所有属性名key(包括变量key、字符key),每循环一次就给prop赋值一次属性名}结果22 04 40e 2u 8z 60undefined 80true 1[object Object] 33r 98hh 50
3、对象嵌套
var obj2 = {a:1,b:{c:9,d:8}}; console.log(obj2.b); console.log(obj2[“b”][“c”]);//obj2下的b下的c的值4、浅复制,复制地址
var obj={a:1,b:2,c:{d:3,e:4}}; var obj3={} for(var prop in obj){ obj3[prop]=obj[prop]; } obj.a=10;///obj发生变化, 复制后切段引用关系,所以源对象属性值改变,新对象不变 obj.c.d=11;//obj、obj1都发生改变,因为复制的是c对象引用地址 console.log(obj); // {a: 10, b: 2, c: {d: 11, e: 4}} console.log(obj3); // {a: 1, b: 2, c: {d: 11, e: 4}}5、删除某个属性,用delete
delete obj.b; console.log(obj);转载地址:https://blog.csdn.net/weixin_43297321/article/details/104088179 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2023年09月24日 03时47分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python3进阶(二) | 正则表达式
2019-03-07
Python绘图 | 初识Turtle绘图~
2019-03-07
Python爬虫从入门到实战教程
2019-03-07
Python小伎俩之实现群发邮件
2019-03-07
Python网络爬虫(一) | urllib包基本使用教程
2019-03-07
Python开发入门(三) | itchat实现微信机器人
2019-03-07
Python网络爬虫| Requests库的基本使用
2019-03-07
SQL Server | 网上购物商城数据库设计报告(专业课设作品)
2019-03-07
关于面试 | 看看前端面试都问什么~
2019-03-07
重构Java基础 | 完整ASCII码对照表
2019-03-07
重构Java基础 (一) | 说说java中的常量与变量
2019-03-07
重构Java基础 (二) | 浅谈java运算符
2019-03-07
重构Java基础 (三) | 程序控制
2019-03-07
Bootstrap实战 | 用Bootstrap布局写一个完整的商城科技网站页面
2019-03-07
网络技术 | Cisco Packet Tracer 6.2安装包 & 安装教程
2019-03-07
网络技术| 说说计算机网络及IP地址 -- 网络基础& 跳线制作& IP地址配置
2019-03-07
网络技术 | IP地址的作用
2019-03-07
重构Java基础 (四) | 你关心的java面向对象
2019-03-07
Vue开发入门(二) | 说说Vue全家桶有哪些~
2019-03-07