1. let、const

  作用:let 声明变量,const 声明常量

  与 var 的区别:不能重复声明,且存在块级作用域,即只在代码块内生效

2. 箭头函数

  使用:

let show = function (a, b) {
    return a + b;
}
alert(show(5, 3))  //结果为8

let show = (a, b) => {
    return a + b;
}
alert(show(5, 3))  //结果为8

  当函数只有一个参数时,可以省略圆括号;当函数体内只有一条return语句时,可以省略函数体

let score = [19, 78, 90, 32, 12, 88]
let r = score.map(item => item >= 60 ? '及格' : '不及格')
alert(r)  

3. 参数扩展:多余的参数可以通过扩展参数接收

let show = function (a, b, ...args) {
    alert(a)
    alert(b)
    alert(args)
}
show(1, 2, 3, 4, 5, 6, 7, 8, 9);

let arr1 = [1, 2, 3]
let arr2 = [4, 5, 6]
let arr = [...arr1, ...arr2]
alert(arr)

4. 解构赋值:左右两边类型必须一致

let [a, b, c] = [1, 2, 3]
console.log(a, b, c)  //结果为:1,2,3

let { a, b, c } = {
    a: 123,
    b: 324,
    c: 54343
}
console.log(a, b, c);  

5. 数组

  5.1 map (映射)

let arr = [12, 5, 8]

let result = arr.map(
    (item) => {
    return item * 2;
    }
)

alert(result)  //结果为24,5,16

  5.2 reduce(汇总)

let arr = [1, 2, 3, 4, 5, 6]
let r = arr.reduce((tmp, item, index) => {
    return tmp + item;
})
alert(r)    //结果为21

let arr = [1, 2, 3, 4, 5, 6]
let r = arr.reduce((tmp, item, index) => {
    if (index != arr.length - 1) {
        return tmp + item;
    } else {
        return (tmp + item) / arr.length
    }
})
alert(r)

  5.3 filter(过滤器)

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
let r = arr.filter(item => {
    return item % 3 == 0
})

alert(r)    //结果为3,6,9

  5.4 forEach(迭代)

let arr = [12, 5, 8, 9]

arr.forEach(item => {
    alert(item)
})

6. 字符串

  1. startsWith、endsWith:匹配开头和结尾的字符串

let str = "http://xxxxx.jpg"

if (str.startsWith('http')) {
    alert("ok")
} else {
    alert("no")
}

if (str.endsWith('jpg')) {
    alert("ok")
} else {
    alert("no")
}

  2. 字符串模板:支持换行且可以使用 "${ }" 符取值

let title = 'Welcome!'
let content = 'hello es6!'
let str = `
    <div>
    <h1>${title}</h1>
    <p>${content}</p>
    </div>
`
alert(str)

最新文章

  1. [转载]memcached完全剖析--1. memcached的基础
  2. Keepalive双主搭建配置
  3. 【web前端优化之图片模糊到清晰】看我QQ空间如何显示相片
  4. nodejs模块——http模块
  5. hdu_5961_传递(bitset)
  6. Google分析language垃圾信息
  7. 腾讯课堂web零基础
  8. 解决 VS2019 打开 edmx 文件时没有 Diagram 视图的 Bug
  9. Calendar日历工具类
  10. Web开发人员学习路线图
  11. sql生成连续日期(年份、月份、日期)
  12. flask 使用Flask-Migrate迁移数据库(创建迁移环境、生成迁移脚本、更新数据库)
  13. (网页)web性能优化(转)
  14. c++builder 6 [Linker Fatal error] Unable to open file &#39;PROXIES.OBJ&#39;
  15. 更新源pip
  16. Qt实现探测当前有没有网络连接(Wi-Fi)——QNetworkConfigurationManager.isOnline()
  17. IT程序猿们,我该做什么选择呢
  18. LeetCode——Basic Calculator
  19. 已有Web项目添加Maven支持
  20. ios 延迟调用 &amp;&amp; UIImageView &amp;&amp; UILabel &amp;&amp; UISegmentedControl &amp;&amp; UISwitch &amp;&amp; UISlider

热门文章

  1. python 拆分字符串(3.0)
  2. [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】
  3. 20、Linux命令对服务器磁盘进行监控
  4. JDK8新特性之Stream流
  5. 【VUE/JS】vue和js禁止浏览器页面后退
  6. 三.Python数据类型详述
  7. Red5流媒体服务器开发
  8. tp6 控制器不存在:app\index\controller\Index
  9. PHP之区域块链
  10. JRebel安装部署,激活