zoukankan      html  css  js  c++  java
  • 《学习JAVASCRIPT数据结构与算法》 ES6 部分笔记

        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <meta http-equiv="X-UA-Compatible" content="ie=edge">
            <title>Document</title>
        </head>
        <body>
            <button onclick="_let()">let</button>
            <button onclick="_const()">const</button>
            <button onclick="mbstring()">模板字面量</button>
            <button onclick="arrows()">箭头函数</button>
            <button onclick="sum()">函数默认值</button>
            <button onclick="apply__()">apply__</button>
            <button onclick="arrayObj ()">属性简写</button>
            <button onclick="pro()">面向对象</button>
            <script>
                function _let(){  // 块变量
                    let sex = '男';
                    // let sex = '女';  // 错误
                    let isF = true;
                    let anmi = '鱼'; // 块
                    par = 'all'; // 全局变量
                    if( isF ){
                        par = 'isF-> all'  // 将上一个全局变量替换
                        let anmi ='niu';  // 在块里面定义
                        console.log(anmi); // isF 里面
                        console.log('this isf'+par);  // 覆盖后的全局变量
                    }
                    console.log(anmi);
                    console.log(par)
                }
    
                function _const(){
                    // 定义一个无法修改的常量
                    const PI = 3.14;
                    // PI = 3.15;  //报错
                    console.log(PI);
                }
    
                // 模板字面量
                function mbstring(){
                    // 平常的写法
                    var book = {
                        name : 'student is good'
                    }
                    console.log('我是普通的'+book.name);
    
                    // 模板字面量
                    console.log(`我是模板字面量${ book.name }
                    新行
                    第三行。`)
                }
    
                // 箭头函数
                function arrows(){
                    var arrElement =  function arrElement(r){
                        const PI = 3.14;
                        let area = PI * 2 * 2;
                    }
    
                    // 箭头函数写法
                    let arrElementS = (r) =>{
                        3.14 * r * r;
                    }
                    console.log( arrElement(2) )
                }
                
                // 函数默认值
                function sum() {
                    function sums (x=1,y=2,z=3){
                    return x + y + z;
                }
                    // 修改 两个参数
                    console.log('修改 两个参数'+sums(4,2))  // 9
                    console.log('默认'+sums())        // 6
                }
                
                // apply()
            function apply__(){
                    function apply_(name,age){
                        this.age = age;
                        this.name = name;
                    }
                    // apply : 数组形式
                    function apply_x(name,age){
                        apply_.apply(this,arguments);  // 使用 apply_的方法
                    }
                    var apply_x = new apply_x('dcf',20);
                    console.log(apply_x.name) // dcf
    
                    //直接指定参数列表对应值的位置  --> call
                    function call_(name,age){
                        apply_.call(this,name,age);
                    }
                    var call_ = new call_('call',10);
                    console.log(call_.name);  // call
            }
    
            function arrayObj (){
                    // 数组解构,一次初始化多个变量
                    var [x,y] = ['a','b'];
                    // 相同代码
                    // var x = 'a'
                    // var x = 'b'
                    console.log('前'+x+','+y);
                    // 值互换
                    [x,y] = [y,x];
                    console.log('后'+x+','+y);
                    // 属性简写
                    function Elemobj(){
                        var obj= {x,y};
                        console.log(obj)
                    }
                    Elemobj()
            }
            
            // 面向对象
            function pro(){
                    // function prototype_(title,par,name){
                    //     this.title = title;
                    //     this.name = name;
                    //     this.par = par;
                    // }
                    // prototype_.prototype.prin = function(){
                    //     return this.title;
                    // }
                    // var x = new prototype_('a','no','fd');
                    // console.log( x.prin() )
                    // console.log( x )
                    
                    //ES6 简化书写
                    class book {
                        constructor ( title,par,name ){
                            this.title = title;
                            this.name = name;
                            this.par = par;
                        }
                        prin(){
                            return this.title;
                        }
                    }
            }
            
            
            </script>
        </body>
        </html>
  • 相关阅读:
    struct&Method
    SetFinalizer、runtime.GC
    Map(没有写底层)
    数组和切片
    函数
    指针、Time
    字符串、strings、strconv
    基本类型和运算符
    第二阶段的事后诸葛亮
    第二个冲刺阶段第10天
  • 原文地址:https://www.cnblogs.com/ar13/p/7956056.html
Copyright © 2011-2022 走看看