开课吧前端1期.阶段2:ES6详解-1 let const 函数 箭头函数

1、变量-let和const

  • 首先思考下,为什么要出ES6 ?  
    • 任何技术都有缺陷,刚开始觉得可以,过几年看性能不如C语言,搞怪不如Python,说白了就是语言必然有迭代过程。
    • 语言总有自己的问题
  • var 变量存在的问题 ?    
    • 1、可以重复声明  (在别的语言无法想象)

      •  

    • 2、无法限制修改

      • 程序里面总有一些东西是不变的,比如常量:PI=3.1415926,这辈子都不会变,最多随着计算机增强算到最后百千万位
      • 很多语言里面都有常量的概念,而JS没有,至少他的的var不是一个常量
        • 为什么Java是全世界最流行的语言,没有之一?
          • 因为它非常的严谨,死板,越是容易简单的语言,实际上没法去开发大型的项目,反过来可能很难受
          • Java刚开始学习可能要死要活的,掌握之后,开发大型项目,得心应手
    • 3、没有块级作用域【if,for出去了就使用不了】

      • where变量的第3个问题  
        • {

              //这个就是块

          }

           

          //常见的

          if(){

          }

          for ( ){

          }

          //里面定义的变量出去了,就用不了

 

 

 

 

 

 

 

 

            

 

 

1.1、ES6出现了新的两种定义变量方式

  1.  let  :不能重复声明,变量-可以修改,块级作用域
  2. const :不能重复声明,常量-不可修改,块级作用域

 

 

 

 

1.2、块级作用域的 现实理解

 

 

 

 

块级作用域的好处: 现在开发都是大型项目,都是合作开发,如果A开发和B开发使用同一个变量名冲突了,查找起来就很麻烦,如果有域的作用,同名了也只在局部起作用,出去了就没了。 

 

2、函数-箭头函数

  任何编程语言来说,函数是最重要的一个组成部分,重用是最重要的提现,不然都要一行行写。

  ES6 函数也有变化,其中箭头函数

标准函数:
  function 名字(){}

es6箭头函数
()=>{
//箭头名字也就这么来的
}

 学习箭头函数前记住2句话:

    1.如果只有一个参数,() 圆括号可以省略 
    2.如果只有一个return,{}  花括号可以省略
  这个函数和我们以前接触的函数没有本质的区别,更多的是一种写法上的变化
复制代码
 function show(){}   写过来就等于   let show()=>{}  //说白了就是把function 给省略了
function () 等于 ()=>{} //这种就是箭头函数,一点也不神秘

window.onload=function(){alert('a')}
//写成,写法上的变化没区别
window.onload=()=>{ alert('a') }

 

let show=function(){alert('abc')}
//写成
let show=()=>{alert('abc')}

//写法上的意义:

  1、方便

1
2
3
4
<br>//箭头函数-传参
  let show=function(a,b){alert(a+b)}
//写成
  let show=(a,b)=>{alert(a+b)}<br><br>//稍微有点价值的举例 , 数组排序

    let arr=[12,5,8,99,33,14,26]
    arr.sort(function(n1,n2){return n1-n2})
    //写成
      arr.sort((n1,n2)=>{return n1-n2})
      alert(arr)

复制代码

 

---------记住的点:

1.如果只有一个参数,()  圆括号可以省略

  let show=(a)=>{return a*2}
  let show=a=>{return a*2}   //只允许1个参数,多了不行
  alert(show(12))


2.如果只有一个return,{}  话括号可以省略 ,熟悉的人知道,这抄的Python
  let show=a=> a*2   //花括弧return一曲省略
  alert(show(12))

 

 

  • 总结,省略方法:
    • ()只有一个参数
    • { } 只有一个return      

 

  • 箭头函数用在哪?
    • 可以完全不用,就是一个简写
    • 作为一个基础知识点,但是数组会用的比较多 

 

3、函数-参数

ES6里面对函数进行了很多的扩展,主要是对函数的参数有所改变,主要有2点

  • 函数的参数 1.参数扩展,以及展开 2.默认参数

3.1、参数的展开

1
2
3
4
5
6
7
8
9
10
function show(a,b){
    alert(a);
    alert(b);
}
show(12,15,12,15,8,9,20); //12,15我是能够接收到的,那么其他的呢function show(a,b,...args){
    alert(a);
    alert(b);
    alert(args);
}
show(12,15,8,9,20); //剩余参数<br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ---剩余参数,前面2个放a,b参数,后面的放到args数组

 参数扩展-注意事项 

  1、收集剩余的参数,前面有几个接收几个,后面剩余的数组全要      

      function show(a,b,...args){}     

        *Rest Parameter 必须是最后一个

1
2
3
4
5
6
2、还能用于,展开数组
  //展开后的效果,跟直接把数组的内容写在这儿一样
    let arr=[1,2,3]
    function show(a,b,c){alert(a);alert(b);alert(c)}
    show(...arr); //等同于show(1,2,3), 就是把arr数组里面东西全部拿出来一样
  //      let arr1=[1,2,3]      let arr2=[4,5,6]       let arr3=[...arr1,...arr2]          alert(arr3) //输出:1,2,3,4,5,6 不奇怪    //展开后的效果,跟直接把数组内容写在这,let arr3=[1,2,3,4,5,6]

    

  // 两者结合一起用 

1
2
3
4
5
6
     function show(...args){fn(...args)}; //收集参数,然后展开给我的fn function fn(a,b){alert(a+b)};
        show(12,5) //输出17
 
3.2、默认参数
    function show(a,b=5,c=12){console.log(a,b,c)} //你给我我就按你的走,没有走默认
    show(99); //输出 99,5,12    show(99,1,2) //输出 99,1,2

 

posted @   兔兔福  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2020-09-02 Redis在高并发情况下可能会存在哪些问题?
点击右上角即可分享
微信分享提示