首页 > 其他分享 >ES6-2

ES6-2

时间:2024-10-20 22:00:25浏览次数:6  
标签:function ES6 console log let result name

简化对象写法

//ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。
        //这样的书写更加简洁
        let name = '尚硅谷';
        let change = function(){
            console.log('我们可以改变你!!');
        }

        const school = {
            name,
            change,
            improve(){
                console.log("我们可以提高你的技能");
            }
        }

        console.log(school);

函数参数默认值

//ES6 允许给函数参数赋值初始值
        //1. 形参初始值 具有默认值的参数, 一般位置要靠后(潜规则)
        // function add(a,c=10,b) {
        //     return a + b + c;
        // }
        // let result = add(1,2);
        // console.log(result);

        //2. 与解构赋值结合
        function connect({host="127.0.0.1", username,password, port}){
            console.log(host)
            console.log(username)
            console.log(password)
            console.log(port)
        }
        connect({
            host: 'atguigu.com',
            username: 'root',
            password: 'root',
            port: 3306
        })

rest参数

// ES6 引入 rest 参数,用于获取函数的实参,用来代替 arguments
        // ES5 获取实参的方式
        // function date(){
        //     console.log(arguments);
        // }
        // date('白芷','阿娇','思慧');

        // rest 参数
        // function date(...args){
        //     console.log(args);// filter some every map 
        // }
        // date('阿娇','柏芝','思慧');

        // rest 参数必须要放到参数最后
        // function fn(a,b,...args){
        //     console.log(a);
        //     console.log(b);
        //     console.log(args);
        // }
        // fn(1,2,3,4,5,6);

箭头函数

// ES6 允许使用「箭头」(=>)定义函数。
        //声明一个函数
        // let fn = function(){

        // }
        // let fn = (a,b) => {
        //     return a + b;
        // }
        //调用函数
        // let result = fn(1, 2);
        // console.log(result);


        //1. this 是静态的. this 始终指向函数声明时所在作用域下的 this 的值
        function getName(){
            console.log(this.name);
        }
        let getName2 = () => {
            console.log(this.name);
        }

        //设置 window 对象的 name 属性
        window.name = '尚硅谷';
        const school = {
            name: "ATGUIGU"
        }

        //直接调用
        // getName();
        // getName2();

        //call 方法调用
        // getName.call(school);
        // getName2.call(school);

        //2. 不能作为构造实例化对象
        // let Person = (name, age) => {
        //     this.name = name;
        //     this.age = age;
        // }
        // let me = new Person('xiao',30);
        // console.log(me);

        //3. 不能使用 arguments 变量
        // let fn = () => {
        //     console.log(arguments);
        // }
        // fn(1,2,3);

        //4. 箭头函数的简写
            //1) 省略小括号, 当形参有且只有一个的时候
            // let add = n => {
            //     return n + n;
            // }
            // console.log(add(9));
            //2) 省略花括号, 当代码体只有一条语句的时候, 此时 return 必须省略
            // 而且语句的执行结果就是函数的返回值
            let pow = n => n * n;
                
            console.log(pow(8));


//需求-1  点击 div 2s 后颜色变成『粉色』
        //获取元素
        let ad = document.getElementById('ad');
        //绑定事件
        ad.addEventListener("click", function(){
            //保存 this 的值
            // let _this = this;
            //定时器
            setTimeout(() => {
                //修改背景颜色 this
                // console.log(this);
                // _this.style.background = 'pink';
                this.style.background = 'pink';
            }, 2000);
        });

        //需求-2  从数组中返回偶数的元素
        const arr = [1,6,9,10,100,25];
        // const result = arr.filter(function(item){
        //     if(item % 2 === 0){
        //         return true;
        //     }else{
        //         return false;
        //     }
        // });
        
        const result = arr.filter(item => item % 2 === 0);

        console.log(result);

        // 箭头函数适合与 this 无关的回调. 定时器, 数组的方法回调
        // 箭头函数不适合与 this 有关的回调.  事件回调, 对象的方法

标签:function,ES6,console,log,let,result,name
From: https://www.cnblogs.com/fanfan-90/p/18488019

相关文章

  • JS高级-ES6之类与继承实现
    在本章节中,我们会通过class类的继承做法extends来实现继承,相对于过往在原型链章节所学的各种继承方式,便利程度有着飞跃性的提升类继承的关键因素super关键词是如何使用的?Babel工具是如何将ES6的类继承转为ES5的旧写法?阅读这类转化过的源码,我们需要注意哪些技巧?在该篇章中,都......
  • JS高级-ES6之模板字符串与剩余参数
    在本章节中,我们学习新的字符串拼接方式:标签模板字符串,动态效果与自由使用程度得到进一步提升函数的默认参数更好的解决方案,以及结合解构的进阶使用方式剩余参数的进一步说明,箭头函数的补充,以及展开语法对数据的处理细节是怎么样的,深拷贝还是浅拷贝,都会得到说明一、字符......
  • ES6中扩展运算符...与Set结合使用
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><......
  • ES6箭头函数的使用
    使用箭头函数的目的:引入箭头函数目的是更加更加简短的函数写法并且不绑定this,箭头函数的语法比函数表达式更加简洁使用场景:箭头函数更加适用于哪些本来需要匿名函数的地方 定义语法:constfn=()=>{}使用方式一:括号里面加形参//箭头函数constfn=(x)=>......
  • ES6前端技术
    ES6前端技术第一章:ES6开山课回顾:JavaScript是什么,发展及其历史?JS的三大核心?本章内容:JavaScript和ECMAScript的关系ES的版本历史兼容性课程目标:第一节:ECMAScript入门介绍1、JS2、ECMA​ ECMA(EuropeanComputerManufacturersAssociation)中文名称为欧洲计算机制......
  • 万象更新 Html5 - es6 进阶: fetch
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:fetch示例如下:es6\src\advanced\fetch.js/***FetchAPI-es6的异步请求接口**注:*1、fetch()返回的是Promise对象*2、fetch()的跨域请求遵循CORS标准**CORS-Cr......
  • 万象更新 Html5 - es6 进阶: iterator, generator
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:iterator,generator示例如下:es6\src\advanced\iterator_generator.js/***iterator-迭代器(可迭代对象有Array,TypedArray,Map,Set,String)*next()-迭代到下一个位置*......
  • 万象更新 Html5 - es6 进阶: proxy, reflect
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:proxy,reflect示例如下:es6\src\advanced\proxy_reflect.js//Proxy-代理(拦截目标对象的属性操作和函数操作)lettarget={name:'webabcd',age:40,gethello(){......
  • 万象更新 Html5 - es6 进阶: 编译和压缩
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:编译和压缩示例如下:es6\src\index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>es6</title><......
  • 万象更新 Html5 - es6 进阶: ArrayBuffer
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:ArrayBuffer示例如下:es6\src\advanced\arrayBuffer.js/***1、ArrayBuffer-内存之中的一段二进制数据,需要通过视图操作数据*2、TypedArray-视图,用于操作ArrayBuffer对象,TypedArr......