箭头函数和模板字符串

箭头函数的几种方式:

1. () => 返回值

   function fn(){   //原来的函数

   }

   let fn = () => 2;  //箭头函数
    console.log(fn());

2. 形参 => 返回值

  let fn2 = num => num*2;
  console.log(fn2(10));

3. (形参,形参) => 返回值

    let fn3 = (a,b) => a+b;
   console.log(fn3(2,5));
  // 没有参数或多个参数时,都需要带有()。  只有一个参数的时候,可以省略()
 	() => {
            // 执行语句
        // }
       (形参,形参) => {
            // 执行语句;
            // return 返回值;
        // }

    // 注意:箭头函数在定义的时候,需要绑定一个变量 或者自调用

箭头函数的不定参:

回顾:在es5中,当我们不确定函数参数的时候,可以使用arguments对象来调用参数

     function fun(){
         console.log(arguments[0]);//1
      }
      fun(1,2,3,4,5,6,7);

es6中,没有arguments对象来帮助我们调用参数

  let fun = () =>{
          console.log(arguments);//报错
        }
        fun(12,3,4,5,6,2,4);

rest 参数(剩余参数)

    let fun2 = (...arg) => {
           console.log(arg);//12,3,4,5,6,7,8
        }
      fun2(12,3,4,5,6,7,8);

箭头函数中, this的指向问题

   document.onclick = function(){
            console.log(this); //document
         }
     document.onclick = ()=>{
           console.log(this);   //window
        }

箭头函数,本身没有this。 this会指向 定义函数时 所在的作用域

     let fn1;
      let fn2 = function(){
            console.log(this);//window
          fn1 = ()=>{
                console.log(this);//window
             }
          }
  fn2 = fn2.bind(document.body);
          fn2();
          fn1();

          document.onclick = function(){
               console.log(this);    //  document
                
                 function ff(){
                     console.log(this);   //window
                 }

                let ff = ()=>{
                    console.log(this);  //document
                }

                ff();
          }

箭头函数的 默认参数

         let fn = (a=10,b=5) => {
                return a+b;
                }

模板字符串

模板字符串 ``
插值运算符 ${} 可以写表达式 可以写函数

      <p>我叫小明,今年18岁,就要上初中了</p>
      <script>
      let p = document.querySelector("p");
        
        let name = ()=>{
            let n = "花花";
            return n;
        };
        let age = "18";
        let school = "高中";


         p.textContent = `我叫${name()},今年${age}岁,就要上${school}了`;

        //需要判断的时候, 用三目运算符
        // p.textContent = `我叫${name()},今年${age>13?"保密":age}岁,就要上${school}了`;
        </script>

字符串新增的方法
str.startsWith: 判断是否已指定字符串开头的
参数1 : 指定字符串
参数2 : 指定的开始位置 (从1开始)

  let str = "好好学习,每天进步一点点";
     console.log(str.startsWith("好好"));   //true 
     console.log(str.endsWith("学习",3));    //false
     // repeat(): 将字符串重复指定的次数 (次数不限)
      let str2 = "a";
      console.log(str2.repeat(3));  //aaa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值