zoukankan      html  css  js  c++  java
  • 10.ES数组,对象的结构赋值,ES的扩展方法

    ES6

    1.数组的结构赋值

    2.对象的解构赋值

    3.扩展方法

    ------------------------------------
    暂时性死区:没有赋值先使用了 再赋值 不行!
    ------------------------------------

    1.数组的解构赋值

    let [x,y.z] = [1,2,3];

    let [x=1,y=2]=[3,5]

    //3 5

    ------------------------------------

    2.对象的解构赋值

    let {x,y} = {'x':'aaa','y','ccc'};//不是按照顺序匹配 按照key匹配

    let {x:a,y} = {"y":"2222","x":"ccc"};

    //x 通过x是获取不到ccc的 需要使用 a 来获取


    //报错

    //a


    //"ccc"

    //这里 x 匹配模式 a 变量名字

    ------------------------------------

    let obj = {x:a,y} = {"y":"2222","x":"ccc"};


    let {x:a,y} = {"y":"2222","x":"ccc"}=obj ;


    可以赋值给变量
    ------------------------------------

    let {x=1} ={x:"a"};//a 覆盖1


    let {x=1,y} ={x:"a"};//a 覆盖1

    y 是空的

    ------------------------------------


    let {x:y=3} ={x:"a"};//


    //y


    //"a"

    ------------------------------------

    //let {x:y=3} ={x=unfeined};//y 3


    let {x:y=3} ={x=null};//y null

    ------------------------------------

    字符串的解构赋值

    let [a,b,c,d,e,f] = 'nodejs';

    //a n

    //b o

    //按照排列顺序来赋值的。

    ------------------------------------

    函数参数解构赋值


    function fun([x,y]){//格式顺序一致
    return x+y;
    }

    fun([2,5]);//格式顺序一致

    //7

    ------------------------------------

    function fun([x=0,y=0]){//默认值 调用的时候不传 就会使用默认值
    return x+y;
    }

    fun([]);

    0

    ------------------------------------

    function fun([x=0,y=0]){//格式顺序一致
    return x+y;
    }

    fun([2,5]);//格式顺序一致


    7

    ------------------------------------

    这里有漏

    let [a,b,c] = num();

    //对象
    funcion num(){
    return =[1,2,3];
    }

    ------------------------------------

    对象

    function num(){
    let obj = {
    'name':'aaa',
    'age':12
    }
    return obj;
    }
    let {name:name,age:age} =num();//前面的叫模式 后面的才是变量名

    console.log(name);

    //aaa
    ------------------------------------

    let obj = {//JSon 情况下
    "name":"aaa",
    "age":12,
    "friends":["a1","b1"],
    "menmbers":{x:1,y:2}
    };

    let{name:name,age:age,friends:ff,menmbers} = obj;

    console.log(ff[1]);//取b1

    //ff[0]

    //"a1"


    //menmbers.y 2

    ------------------------------------


    ES6扩展功能

    1.字符串扩展


    字符串截取

    原生

    var str = "hello world";

    str.substr(1,4);//1-4 从1开始取4个


    //"ello"

    str.substring(1,4);//长度

    //"ell"

    indexOf()//寻找文本 -1没有找到


    ---------------------------------------

    str.startsWith("hello")//字符 串是否头部

    //true

    str.startsWith("hello",4)//字符 串是否头部 4 代表搜索的位置

    //false


    str.endsWith("hello")//字符 串是否尾部

    //false

    str.includes("o");//判断是否有o ES6方法 //可以写第二个参数 第二个参数 代表搜索的位置

    //true bool

    if(str.indexOf(o)!=-1){};//判断是否有 原生方法

    str.repeat(3); //重复N次 把 hello world 重复N次

    hello worldhello worldhello world


    ------------------------------------

    //补全功能 长度不够 补全

    var s ='s';

    s.padStart(4,'xy');//xyxs 补了xyx 加 s

    s.padEnd(4,'xy');//sxys 补了 s + xys


    //如果长度没有达到 才补全 超过了 不执行 补补全

    ------------------------------------

    //模板字符串 利于字符串拼凑 不用转义了!!

    $(".list").html('<li>'+item.name+'<li>')

    //模板字符串
    $(".list").html(`<li>${item.name}<li>`)


    //`````` ```ESC 下的 英文下打


    例子:1

    例子2:


    $(result).each((index,item) =>{
    $(".lists ul").append(`<li><span>${item.name}</span><span>${item.content}</span></li>`);
    });

    ------------------------------------

    数值扩展

    //Number.parseInt();//整数

    //Number.parseFloat();//浮点


    ------------------------------------

    函数的扩展

    //分页用的很多

    //ES5
    function fun(x,y){
    y =y || "aa";//这个好用 如果没有Y 那么默认就取AA
    console.log(x,y);

    }

    fun(123);


    //ES6

    function fun(x,y="10"){//默认
    console.log(x,y);
    }

    fun(123);

    //123 "10"


    ------------------------------------


    //rets 参数

    ...变量名


    function fun(...alues){//默认 代表全部的参数
    console.log(alues);//全部参数
    console.log(alues[1]);//取33
    }

    fun(123,33);


    ------------------------------------

    //箭头函数

    let f =v =>v;

    f 变量的名字

    v 参数

    v 函数体 返回的


    var f = function(){
    return v;

    }

    ------------------------------------

    参数为空

    let f = () => '123';

    f();

    ------------------------------------

    多个参数

    let f = (n1,n2)=>n1+n2;

    f(1,3);

    4
    ------------------------------------

    let f = (n1,n2)=>{return n1+n2};
    f(1,3);

    4
    ------------------------------------

    //对象

    let f = (n1,n2)=>({name:n1,age:n2});

    ------------------------------------

  • 相关阅读:
    begin lydsy 2731
    关于js中this关键字的补充
    js中this关键字测试集锦
    js文件中函数前加分号和感叹号是什么意思?
    好用的wget命令从下载添加环境变量到各参数详解
    一个解析json串并组装echarts的option的函数解析
    oschina代码仓库远程push,pull免密实操总结
    yii 核心类classes.php详解(持续更新中...)
    yii2.0归档安装方法
    配置windows 系统PHP系统环境变量
  • 原文地址:https://www.cnblogs.com/shaozhu520/p/8644166.html
Copyright © 2011-2022 走看看