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

定制商品的网站建设全国最好装修公司排行榜

定制商品的网站建设,全国最好装修公司排行榜,株洲做网站哪家好,wordpress时间中文版解构赋值 1.1 什么是解构赋值 允许按照一定模式#xff0c;从数组和对象中提取值#xff0c;对变量进行赋值#xff0c;这被称为解构 只要某种数据结构具有 Iterator 接口#xff0c;都可以采用数组形式的解构赋值 1.2 数组解构赋值和对象解构赋值的区别 数组的元素是按次…解构赋值 1.1 什么是解构赋值 允许按照一定模式从数组和对象中提取值对变量进行赋值这被称为解构 只要某种数据结构具有 Iterator 接口都可以采用数组形式的解构赋值 1.2 数组解构赋值和对象解构赋值的区别 数组的元素是按次序排列的变量的取值由它的位置决定 而对象的属性没有次序变量必须与属性同名才能取到正确的值。 2.1 数组的解构赋值 // 报错 let [foo] 1; let [foo] false; let [foo] NaN; let [foo] undefined; let [foo] null; let [foo] {};//解构数组 let [a,b,c] [1,2,3] console.log(a,b,c) //1,2,3 //解构Set let [x, y, z] new Set([a, b, c]); console.log(x,y,z)//a,b,c //解构 Generator 函数 function* fibs() {let a 0;let b 1;while (true) {yield a;[a, b] [b, a b];} }let [first, second, third, fourth, fifth, sixth] fibs(); sixth // 52.2 默认值 解构赋值允许指定默认值 只有当一个数组成员严格等于undefined默认值才会生效。 let [x 1] [undefined]; x // 1let [x 1] [null]; x // null如果默认值是一个表达式那么这个表达式是惰性求值的即只有在用到的时候才会求值。 function f() {console.log(aaa); }let [x f()] [1];默认值可以引用解构赋值的其他变量但该变量必须已经声明。 let [x 1, y x] []; // x1; y1 let [x 1, y x] [2]; // x2; y2 let [x 1, y x] [1, 2]; // x1; y2 let [x y, y 1] []; // ReferenceError: y is not defined2.3 数组的嵌套结构 let [a,[b,[c]]][1,[2,[3]]] console.log(a,b,c)//1,2,33.1 对象的解构赋值 let { foo, bar } { foo: aaa, bar: bbb }; foo // aaa bar // bbb3.2 对象的嵌套解构 let obj {p: [Hello,{ y: World }] };let { p: [x, { y }] } obj; x // Hello y // World注意这时p是模式不是变量因此不会被赋值。如果p也要作为变量赋值可以写成下面这样。 let obj {p: [Hello,{ y: World }] };let { p, p: [x, { y }] } obj; x // Hello y // World p // [Hello, {y: World}]下面是另一个例子。 const node {loc: {start: {line: 1,column: 5}} };let { loc, loc: { start }, loc: { start: { line }} } node; line // 1 loc // Object {start: Object} start // Object {line: 1, column: 5}上面代码有三次解构赋值分别是对loc、start、line三个属性的解构赋值。 注意最后一次对line属性的解构赋值之中只有line是变量loc和start都是模式不是变量。 下面是嵌套赋值的例子 let obj {}; let arr [];({ foo: obj.prop, bar: arr[0] } { foo: 123, bar: true });obj // {prop:123} arr // [true]对象的解构赋值可以取到继承的属性 const obj1 {}; const obj2 { foo: bar }; Object.setPrototypeOf(obj1, obj2);const { foo } obj1; foo // bar3.3 对象解构的默认值 默认值生效的条件是对象的属性值严格等于undefined var {x 3} {x: undefined}; x // 3var {x 3} {x: null}; x // null3.4 注意点 如果要将一个已经声明的变量用于解构赋值必须非常小心。 // 错误的写法 let x; {x} {x: 1}; // SyntaxError: syntax error上面代码的写法会报错因为 JavaScript 引擎会将{x}理解成一个代码块 从而发生语法错误。只有不将大括号写在行首避免 JavaScript 将其解释 为代码块才能解决这个问题。 // 正确的写法 let x; ({x} {x: 1});上面代码的写法会报错因为 JavaScript 引擎会将{x}理解成一个代码块 从而发生语法错误。只有不将大括号写在行首避免 JavaScript 将其解释为 代码块才能解决这个问题。 4、字符串的解构赋值 const [a,b,c,d,e] hello; console.log(a,b,c,d,e) // h,e,l,l,o类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值 let {length:len} hello; console.log(len) //55、数组和布尔值的解构赋值 解构时如果等号的右边是数组和字符串则会先转换为对象 let {toString:s} 123; s Number.prototype.toString //truelet {toString:s} true; s Boolean.prototype.toString //true
http://wiki.neutronadmin.com/news/406502/

相关文章:

  • 河南省建设厅网站103用多说的网站
  • 购物网站建设包括哪些网站做app要权限
  • 欧美只做les 网站网站群建设优点
  • 大良营销网站建设公司wordpress相册灯箱弹窗
  • 如何建设一个门户网站wordpress 移动导航呼出
  • 银川市网站制作公司安溪哪里有学做网站
  • 郑州网站建设的公司哪家好进入外国网站的方法
  • 怀化网站优化哪个好二级子域名ip
  • 徐州品牌网站建设|徐州网站优化|徐州网络公司-徐州启思信息科技单位门户网站怎么做
  • 那个网站做生鲜品牌营销策划方案ppt
  • 大理州建设局网站门户网下一页word
  • 杭州蚂蚁 做网站的公司软件企业
  • 网站网站开发的公司电话哪个网站教做饭做的好
  • 更改网站备案网站的建设的含义
  • net网站建设入门教程win主机wordpress重定向
  • 宝安做棋牌网站建设哪家好山东网站制作推荐
  • 介休门户网站30_10_郑州网站制作
  • 照片网站源码wordpress point
  • 南昌高端网站建设最好的网页设计网站
  • asp网站源码说明论述市场营销对网站设计的影响
  • 广东智能网站建设哪家有搜索引擎的营销方法
  • 济南中京网站建设公司中国建筑网官网人员名单
  • 00后没学历最吃香的职业网站建设优化需要懂那些知识
  • 哪个旅游网站规划好广东东莞新闻最新消息
  • asp mysql做网站大连网站建设介绍
  • 在自己电脑上建网站呼市浩特网站建设
  • 秦皇岛昌黎县建设局网站西宁网站建设报价
  • 做分色找工作网站网站开发总监
  • 做互联网营销一般上什么网站网站升级建设招标公告
  • 个人博客网站如何做SEO亚马逊店铺怎么注册流程