首页 > 语言 > JavaScript > 正文

ECMAScript6轮播图实践知识总结

2024-05-06 14:52:56
字体:
来源:转载
供稿:网友

模板字符串

这是我非常喜欢的ES6的特点之一,非常直观的反应出变量和字符串之间的关系,在ES5中,如果我们想在字符串中添加变量,需要用如下写法:

animate(box, 'translate(-' + itemWidth * num + 'px,0)', 1000, function () {  box.style.transitionDuration = '';  box.style.transform = 'translate(-800px,0)';  flag = true;});

现在用ES6的模板字符串,可以直接把字符串和变量相结合,更加易懂。

animate(box, `translate(-${itemWidth*num}px,0)`, 1000, function() {  box.style.transitionDuration = '';  box.style.transform = `translate(-${itemWidth*(item.length-2)}px,0)`;  flag = true;});

是不是非常直观方便,从上面的两个简单示例中可以看出,在ES6中,字符串用反引号(``)标识,这一点需要知道。

还有一个特点,模板字符串可以输出折行的字符串,这在ES5传统字符串中是无法做到的,必须借助(/n),且不能在书写时候写入回车,但是在ES6的字符串模板中,可以直接写入回车,空格,然后在字符串输出时候直接输出,非常方便。

let myString=`abcdeffff fas`;console.log(myString);/*输出abcdeffff fas*/

对函数的扩展

1.给函数设置默认值

在对函数的扩展中,添加了一项给函数设置默认值的功能,这个功能可以说是非常赞的。是否记得我们在ES5中是怎么给函数设置默认值?

function test(a,b,c){  var a=a||10;  var a=b||15;  var c=c||20;  console.log(a+b+c);}

这里我们设置默认值,可以达到自己的预期效果,直到有一天,我们把a=0传入,这时候,我们这么写就不对了,对于程序来说,0就是false,所以a会取默认值10,从而达不到我们预期的效果。但是ES6为我们提供非常好的设置默认值的方式。上面的代码可以改写成下面的这样:

function test(a=10,b=15,c=20){  console.log(a+b+c);}

2.箭头函数

了解Coffescript的同学应该清楚,Cofficescript的强大之处在于它的无处不在的箭头函数,写起来非常爽,现在,ES6正式引入箭头函数,让我们的程序可以得到简化,例如:

//ES5的写法var test = function (a,b){  return a+b;}//ES6的箭头函数var test2 = test(a,b)=>a+b;

在写轮播时候,需要鼠标移动到下面的这个小圆点在小圆点类数组对象中是第几个,从而才能让图运动到正确位置,在ES5的时候,我们需要给当前这个对象添加属性,写起来比较繁琐,写法如下:

var liList = document.querySelectorAll('li');for(var i=0;i<liList.length;i++){  liList[i].index=i;  liList[i].addEventListener('mouseenter',function(){    console.log(this.index);  },false);}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选