• vue学习(1)


    前置的准备学习:

    ES6简单语法:

    1.let和const

    2.模板字符串

    3.箭头函数

    4.对象的单体模式

    5.es6的面向对象

    6.模块化

    1.let和const

    <script type="text/javascript">
           {
            var a=12;
           } 
           console.log(a);
    </script>

    浏览器输出12,说明var声明变量的作用域是全局的。

    <script type="text/javascript">
           {
            let a=12;
            var a=13;
           } 
           console.log(a);
    </script>

    浏览器输出报错信息,说明let声明的变量是块级作用域,不能重复声明。

    <script>
            var a=[];
            for(var i=0;i<10;i++){
                a[i]=function(){
                    console.log(i);
                };
            }
            a[6]();// 10 因为i是用var声明的,作用于全局。
     </script>
    <script>
            var a=[];
            for(let i=0;i<10;i++){
                a[i]=function(){
                    console.log(i);
                };
            }
            a[6]();// 6 因为不能重复声明,且是块级作用域,所以每一次循环,都是一个新的函数
        </script>
    <script>
            const PI=3.14;
            PI=2;//Uncaught TypeError: Assignment to constant variable.at let和const.html:28
        </script>

    const是声明一个常量,不可变,重新赋值则会报错。

    2.模板字符串

    <script>
            var a=1;
            var b=2;
            //var str="哈哈哈"+a+"嘿嘿嘿"+b; //以前的写法
            //console.log(str);//哈哈哈1嘿嘿嘿2
            var str=`哈哈哈${a}嘿嘿嘿${b}`//ES6写法 哈哈哈1嘿嘿嘿2
            console.log(str);
       </script>

    3.箭头函数

    //无形参
    var f=()=>5;
    //等同于
    var f=function(){return 5};
    
    //多个形参
    var sum=(num1,num2)=>num1+num2;
    //等同于
    var sum=function(num1,num2){return num1+num2;};

    箭头函数的两个坑:1.this的指向发生了改变,指向定义对象时的对象window。2.arguments不能使用。

    4.对象的单体模式

    <script>
            var person={
                name:"张三",
                age:18,
                // fav:function(){
                //     console.log(this);
                // }
                fav(){console.log(this)}
            }
            person.fav();
        </script>

    解决箭头函数不能指向本身的问题。字面量方式创建对象。

    5.面向对象

    es5时的面向对象:

        <script>
            //构造函数的方式来创建对象,面向对象
            function Aniaml(name,age){
                this.name=name;
                this.age=age;
            }
            Aniaml.prototype.showName=function(){
                console.log(this.name)
            };//给对象增加方法
    
            var dog=new Aniaml('日天',18);
            dog.showName()
    
        </script>

    es6的面向对象

    <script>
            class Aniaml{
                constructor(name,age){
                    this.name=name;
                    this.age=age;
                }//构造方法,且后面不能加逗号
                showName(){
                    console.log(this.name)
                }
            }
            var d=new Aniaml('张三',19);
            d.showName();
        </script>
     
  • 相关阅读:
    [转]Ubuntu Tweak 0.8.7 发布:支持 Ubuntu 14.04
    冷知识 —— 地名的解释
    冷知识 —— 地名的解释
    冷知识 —— 国家域名、国际电话区号列表
    冷知识 —— 国家域名、国际电话区号列表
    基于梯度的权重更新优化迭代算法
    基于梯度的权重更新优化迭代算法
    中英文对照 —— 图表等的可视化
    中英文对照 —— 图表等的可视化
    matplotlib plot 绘图函数发生阻塞(block)时的解决方法
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/9429319.html
Copyright © 2020-2023  润新知