当前位置: 首页 > news >正文

pc站转换手机网站百度查询网

pc站转换手机网站,百度查询网,医院建设网站,手机网站底部悬浮菜单认识对象 对象(object)是“键值对”的集合,表示属性和值的映射关系。 对象的语法 k和v之间用冒号分隔,每组k:v之间用逗号分隔,最后一个k:v对后可以不书写逗号。 属性是否加引号 如果对象的属性键名不符合JS标识符命名规…

认识对象

  • 对象(object)是“键值对”的集合,表示属性和值的映射关系。

对象的语法

  • k和v之间用冒号分隔,每组k:v之间用逗号分隔,最后一个k:v对后可以不书写逗号。

属性是否加引号

  • 如果对象的属性键名不符合JS标识符命名规范,则这个键名必须用引号包裹

属性的访问

  • 可以用“点语法”访问对象中指定键的值。

  • 如果属性名不符合JS标识符命名规范,则必须用方括号的写法来访问。

  • 如果属性名以变量形式存储,则必须使用方括号形式。

属性的更改

  • 直接使用赋值运算符重新对某属性赋值即可更改属性。

属性的创建

  • 如果对象本身没有某个属性值,则用点语法赋值时,这个属性会被创建出来。

属性的删除

  • 如果要删除某个对象的属性,需要使用delete操作符。

对象的方法

  • 如果某个属性值是函数,则它也被称为对象的“方法”。

方法的调用

  • 使用“点语法”可以调用对象的方法。

方法和函数

  • 方法也是函数,只不过方法是对象的“函数属性”,它需要用对象打点调用。

对象的遍历

  • 和遍历数组类似,对象也可以被遍历,遍历对象需要使用for...in...循环。
  • 使用for...in...循环可以遍历对象的每个键。

对象的深浅克隆

对象是引用类型值

对象是引用类型值,这意味着:

  • 不能用var obj2 = obj1这样的语法克隆一个对象。
  • 使用==或者===进行对象的比较时,比较的是它们是否为内存中的同一个对象,而不是比较值是否相同。

对象的浅克隆

  • 浅克隆:只克隆对象的“表层”,如果对象的某些属性值又是引用类型值,则不进一步克隆它们,只是传递它们的引用。
  • 使用for...in...循环即可实现对象的浅克隆。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>var obj1 = {a: 1,b: 2,c: [44, 55, 66]};// 实现浅克隆var obj2 = {};for (var k in obj1) {// 每遍历一个k属性,就给obj2也添加一个同名的k属性// 值和obj1的k属性值相同obj2[k] = obj1[k];}// 为什么叫浅克隆呢?比如c属性的值是引用类型值,那么本质上obj1和obj2的c属性是内存中的同一个数组,并没有被克隆分开。obj1.c.push(77);console.log(obj2);                  // obj2的c属性这个数组也会被增加77数组console.log(obj1.c == obj2.c);      // true,true就证明了数组是同一个对象</script>
</body></html>

对象的深克隆

  • 和数组的深克隆类似,对象的深克隆需要使用递归。
  • 深克隆:克隆对象的全貌,不论对象的属性值是否又是引用类型值,都能将它们实现克隆。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>var obj1 = {a: 1,b: 2,c: [33, 44, {m: 55,n: 66,p: [77, 88]}]};// 深克隆function deepClone(o) {// 要判断o是对象还是数组if (Array.isArray(o)) {// 数组var result = [];for (var i = 0; i < o.length; i++) {result.push(deepClone(o[i]));}} else if (typeof o == 'object') {// 对象var result = {};for (var k in o) {result[k] = deepClone(o[k]);}} else {// 基本类型值var result = o;}return result;}var obj2 = deepClone(obj1);console.log(obj2);console.log(obj1.c == obj2.c); // falseobj1.c.push(99);console.log(obj2.c); // obj2不变的,因为没有“藕断丝连”的现象obj1.c[2].p.push(999);console.log(obj2.c[2].p); // obj2不变的,因为没有“藕断丝连”的现象</script>
</body></html>

http://www.mmbaike.com/news/68486.html

相关文章:

  • 门户网站建设招标如何能查到百度搜索排名
  • 合肥 网站平台建设公司互联网金融
  • 淮安做网站seo如何自己做一个网址
  • 网站性能优化怎么做申请网站怎么申请
  • 网站开发技术文档 范本成都最新热门事件
  • 做销售如何在网站上搜集资料网络营销论文3000字
  • 凤凰网站建设公司教育培训机构有哪些
  • 财税公司做网站站长工具seo综合查询腾讯
  • wordpress页面编辑插件苹果aso优化
  • 北京 网站开发磁力珠
  • 在线做3d交互的网站制作网站
  • 定制版网站建设详细报价新一轮疫情最新消息
  • 怎样做音视频宣传网站数字营销案例
  • 网站开发设计运维seo薪酬如何
  • 靠比较软件下载大全app网站市场营销十大经典案例
  • 泰安网站建设培训成都网站关键词推广优化
  • 网站建设 青少年宫学电脑培训班
  • 大连金州网站建设收录优美图片
  • iis7网站建设企业网络营销推广方法
  • 优科技网站建设东莞seo优化排名
  • 织梦做英文网站出现乱码西安网站建设
  • 如何预览做好的网站百度智能建站系统
  • 蒙阴网站优化百度关键词seo推广
  • 专业开发网站多少钱洛阳网站建设优化
  • 手机定位网站源码如何推广引流
  • 深圳企业网站建设设计公司企业seo职位
  • 二手东西网站怎么做艾滋病多长时间能查出来
  • 长春高铁建站看广告收益的正规平台
  • idea网站开发竞价推广托管开户
  • 金融网站怎么做的厦门seo推广