es6特性--有例子

一、let和const

块级作用域的诞生,也催生了另外两个定义变量的方法:let,const

let:定义一个变量,允许被改变,只作用于被定义时的作用域下
const:定义一个变量,不允许被改变,只作用于被定义时的作用域下
var:定义一个变量,允许被改变,作用于全局作用域

例如:点击每个按钮,运行结果总是3

		<button>1</button>
		<button>2</button>
		<button>3</button>
		<script type="text/javascript">
			var btn=document.getElementsByTagName('button');
			for(var i=0;i<btn.length;i++){
				btn[i].οnclick=function(){
					console.log(i)
				}
			}	
		</script>

解决方案一、用立即执行函数垫一下

	for(var i=0;i<btn.length;i++){
			(function(i){
				btn[i].onclick=function(){
					console.log(i)
				}
			})(i)			
		}	

解决方法二、用let定义变量即可

    for(let i=0;i<btn.length;i++){
            btn[i].onclick=function(){
                console.log(i)
                }		
            }

二、箭头函数

例如:

	let num = function(a) {
				return a * 2;
			}
			console.log(num(3))

1、如果只有一个参数,()可省
2、如果只有一个return,{}可省

	let num =a=>a * 2;			
			console.log(num(3))

两个参数

	let num=(a,b)=>a+b;
		console.log(num(2,3))

三、参数扩展

1、收集参数:第一个参数a对应1,第二个参数对应2,数组args对应剩下的数,以数组的形式出现

	let arr = function(a, b, ...args) {
					console.log(a);		 //1
					console.log(b); 	//2
					console.log(args); 	//[3,4,5]
				}
				arr(1, 2, 3, 4, 5)

2、展开数组:数组arr0和数组arr1,展开为一个数组

	let arr0=[1,2,3];
		let arr1=[4,5,6];
		let Arr=[...arr0,...arr1];
		console.log(Arr)	//[1,2,3,4,5,6]

例如:

    function show(...args1) { //以数组的形式收集
                    fn(...args1);	//展开数组
                }

                function fn(a, b) {
                    console.log(a + b)
                }
                show(2, 3)

四、结构赋值,拆成你想要的粒度(粗细大小)

	let [{a,b},[n1,n2,n3],num,str]=[{a:1,b:2},[6,8,10],0,'china'];
			console.log(a,b,n1,n2,n3,num,str);	//1 2 6 8 10 0 "china"
	//拆
	let[json,Array,Num,Str]=[{a:1,b:2},[6,8,10],0,'china'];
			console.log(json,Array,Num,Str);	//{a:1,b:2} [6,8,10] 0 'china'

五、字符串模板

例如:

	let title="标题";
	let context="内容";
	let str='<div>\<h2>'+title+'<h2>\<h6>'+context+'</h6></div>';
	console.log(str)	//打印出来的不可换行

返单单引号包裹,多快好省

	let str = `<div>
		<h1>${title}</h1>
		<h6>${context}</h6>
	</div>`;
		console.log(str)  //打印出来的内容换行

暂时整理这些,后续再补充…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值