JavaScript之变量解构赋值的使用】的更多相关文章

let 不存在变量提升 通过let声明的变量仅在块级作用域内有效 不允许在同一个作用域内重复声明一个变量 防止值公用 var oUl = document.querySelectorAll('ul>li'); for(let i=0,len=oUl.length;i<len;i+=1){ oUl[i].onclick = function(){ console.log(`text:${this.innerText} index:${i}`); }; } 不用再使用自执行函数了,兴奋. type…
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构ES6之前我们申明多个变量需要按照下面的方法: let l a=1; let b=2; let c=3; let d=4; //或者 let a=1,b=2,c=3,d=4; 现在我们可以更加简便 let[a,b,c,d]=[1,2,3,4] 这种方法需要连边结构完全对上,左边有多余变量,会给多余变量赋值undefined,右边有多余的值,多余的自动会被忽略 let[a,[b,c,d],[e,[f,g]]]=[1,[2,…
  前  言 ES6 解构赋值: ES6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构. 1.1 数组的结构赋值 1.1.1基本用法 JS中,为变量赋值直接指定.例如下面代码: <script type="text/javascript"> var a = 1; var b = 2; var c = 3; </script> 在ES6中可以这样写.例如下面代码: <script type="text/javascript&…
1.数组解构赋值 let [a,b,c]=[1,2,3];//数组解构赋值,注意:左右两边格式需一致 let [a,b]=[1,2,3];//不完全解构,取位置靠前的值 let [a=1,b]=[undefined,2];//可以带默认值,内部解析必须是===undefined时,才会取默认值,注意,null都不能取默认值 2.对象解构赋值      变量必须与属性同名,可以不按顺序(不同于数组) let {foo,bar}={foo:1,bar:2}; let {foo:baz}={foo:1…
这里是我觉得es6解构赋值,在平时我们写js的时候非常有用,而且经常用到的地方,能简化我们的代码,让写代码简介优雅易读; 用途 1.交换变量的值,太方便了这逼,写法不仅简介而且一看就明白 let [x,y]=[1,2]; [x,y]=[y,x]; console.log(x);//输出2 console.log(y);//输出1 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或者对象里面返回.有了解构赋值,取出这些值那是非常的方便,最关键是易读 function…
一.数组赋值(从数组中提取值,按照对应位置,对变量赋值) 1. 完全解构(变量与值数目相等) let arr = [1, 2, 3]; let [a,b,c] = arr; console.log(a, b, c); // 1 2 3 2. 不完全解构(变量的数目小于值的数目) let arr = [1, 2, 3, 4]; let [a,b,c] = arr; console.log(a, b, c); // 1 2 3 3. 解构不成功(变量的数目大于值的数目) let arr = [1,…
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/学习. 在JavaScript中,用var申明的变量实际上是有作用域的. 如果一个变量在函数体内部申明,则该变量的作用域范围是整个函数体,在函数体外部,不能被引用. 'use strict'; function foo() { var x = 1; x = x + 1; } x = x + 2; /…
1.ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 2.ES6允许写成:let [a,b,c] = [1,2,3];上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值.本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值. 3.如果解构不成功,变量的值就等于undefined. let [bar, foo] = [1]; foo的值将是undefined. 4.只要某种数据结构具有 Itera…
一.基本语法 1.1.声明变量的六种方法 参看地址:http://es6.ruanyifeng.com/#docs/let let:局部变量,块级作用域,声明前使用报错 var:全局变量,声明前使用 undefined const:声明一个只读的常量.一旦声明,常量的值就不能改变.只是内存地址不变,如果是对象,内存不变属性对应的值可变 function: import: class: 1.2.变量解构赋值 参看地址:http://es6.ruanyifeng.com/#docs/destruct…
1.数组的解构赋值 我们知道以前我们给一个变量赋值要这样如下: let a = 1; let b = 2; let c = 3; 但是ES6出来之后,我们可以这样: let [a, b, c] = [1, 2, 3] 以上就是从数组中提起值,一一对应赋值,a.b.c分别为1.2.3 let [aa, [[bb], cc]] = [1, [[2], 3]] aa,bb,cc分别对应1,2,3 let [,,d] = [10, 20, 30]; console.log(d); d的值为30 let…