• ES6基本语法和一些面向对象的知识


     

    声明变量

    var

    使用var声明变量会将变量的声明提到全局,在局部作用域声明的在全局也能打印

    {
       var a = 12;
    }
    // 变量提升 var会将变量的声明提到全局
    console.log(a);

    let

    使用let声明表名我们的块级作用域,在局部作用域声明的在全局打印会报错

    {
        let a = 12;
    }
      // 使用let声明表名我们的块级作用域
      console.log(a);

    const

    const声明的变量 只声明常量 一旦声明不可改变,修改后会报错

    const b = 13;
    b = 14;
    console.log(b);

    模板字符串``

    模板字符串``,如果你想插入变量${变量名}

    复制代码
    var name = "yuan", age = 18;
    // var str = name + "," + age + "岁了";
    var str = `${name},${age}岁了`;
    console.log(str);
    var url = "http://www.luffycity.com";
    $("ul>li").append(
        `<a href="${url}"></a>`
    );
    复制代码

    箭头函数

    正常情况下我们定义函数

    function add(x,y) {
        console.log(x+y)
    }
    add(2,3);
      var add2 = function () {
      }

    使用箭头函数

    var add2 = (a,b)=>{
        console.log(a-b)
    };
    add2(9,2);

    字面量方式声明对象

    复制代码
    var person = {
        name: "日天",
        age:18,
        fav: ()=> {
            //  使用箭头函数会改变this的指向,指向了父级元素
            console.log(this)
        }
    };
    person.fav();  // Window
    复制代码

    这里可以看到由于使用了箭头函数,这里的this不是指person,而是指向了父级元素,也就是window

    对象的单体模式

    复制代码
    var person2 = {
        name: "ritian",
        // fav:function () {
        // }
        fav(){
            console.log(this)
        }
    };
    person2.fav();  // Object {name: "ritian", fav: function}
    复制代码

    这里没有使用箭头函数,而是使用了对象的单体模式,这里的this就是对象本身

    ES5面向对象相关

    对象的三大特性 封装 继承 多态
    函数的作用: 封装一块代码,复用,作用域 解决代码的重用性
    继承的作用: 特点: 子类继承父类,拥有父类的所有属性和方法,还可以有自己的属性和方法
    多态: 代码可重用性 解耦合

    es5的构造对象的方式 使用构造函数来创建对象
    构造函数唯一的不同 函数名首字母大写

    复制代码
    function Animal(name,age) {
        // 点语法 set方法和get方法
        this.name = name;
        this.age = age;
      //  this.fav = function () {
      //   }
    }
    Animal.prototype.showName = function () {
        console.log(this.name)
    };
    var a = new Animal("yuan", 18);
    console.log(a.age);
    a.showName();
    复制代码

    使用prototype的方法给构造函数的父类增加方法(构造函数本身也可以调用)

    ES6的面向对象

    复制代码
    class Animal{
        constructor(name="yuan",age=13){
            this.name = name;
            this.age = age;
        }
        showName(){
            console.log(this.age)
        }
    }
    var a = new Animal();
    a.showName()
    复制代码

    constructor相当于初始化方法

  • 相关阅读:
    mysql查看进程
    mysql case, if
    centos升级python2.7
    centos多版本python安装pip
    Python library not found: libpython2.7mu.so.1.0
    pip cannot confirm SSL certificate: SSL module is not available
    python: no module named bz2
    summary
    python生成可执行文件保护源码
    mysql 存储过程
  • 原文地址:https://www.cnblogs.com/QQ279366/p/8696996.html
Copyright © 2020-2023  润新知