zoukankan      html  css  js  c++  java
  • ES6

    1.ES6

    1.1let

    let 声明的是一个块状作用域,定义,只在对应的{}内生效
        if(true) {
            var a = 20;
            let b = 10;
        }
        console.log(a); // 20
        console.log(b); //Uncaught ReferenceError: b is not defined
        
    let 不能定义两次相同的名字
    		let b = 10;
            let b = 30;
            console.log(b);  //Uncaught SyntaxError: Identifier 'b' has already been declared
    

    1.2const

    定义常量,只能定义,不可更改
    	const c = 'hello';
        console.log(c); //hello
        c = 'world';
        console.log(c); //Uncaught TypeError: Assignment to constant variable.
        
    使用const定义一个对象常量,可以更改赋值
        const person = {
            uname:'zhangsan'
        }
        person.uname = 'lisi';
        person.age = 20
        console.log(person);  //{uname: "lisi",age:20}
    // const 定义的是一个对象,对象是存储在内存上的,所以可以更改
    

    1.3箭头函数

    // 下面三个函数是一致的
    var fun = function(a,b){return a+b;}
    var fun = (a,b)=>a+b;
    var fun = (a,b)=>{return a+b};
    
    // 调用函数
    fun(3,9);
    
    
    
    // 箭头函数
    	let f = () => {
    		console.log('这是一个函数...');
    	}
    	
    this的指向问题:this绑定箭头函数声明时的上下文环境一旦绑定,不会再变化
            created:function(){
                console.log('vue已经实例化');
                // 存储vue对象
                let _this = this;
                // 进行数据模拟请求
                setTimeout(function () {
                    // 此处this指向的是window对象
                    console.log('this'+this);
                    console.log('_this'+_this);
                    _this.news=[
                        '新闻1',
                        '新闻2'
                    ];
                },1000)
            }
    

    1.4 反引号``

    `
    <div>
        <h3>我是h3</h3>
        <h4>我是h4</h4>
    </div>
     `
     
     用``反引号里面包裹的内容可以解析换行符,如果用单引号双引号,引号里面的内容,换行是不生效的,程序会报错
    

    1.5暂时性死区

    暂时性死区的本质就是,只要一进入当前作用域,所要使用的变量就已经存在了,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。
    function bar(x = y, y = 2) {
      return [x, y];
    }
    
    bar(); // 报错
    
    
    // 不报错
    var x = x;
    
    // 报错
    let x = x;
    // ReferenceError: x is not defined
    

    1.6Object.assign()

    // Object.assign() 将多个对象的属性和值组合到一个对象中,同名属性的值发生覆盖,不同名属性发生继承
    
  • 相关阅读:
    容器操作--管理迭代器
    顺序容器--添加及访问元素
    日志记录-20151103
    顺序容器--容器库.迭代器
    使用-flat.vmdk恢复虚拟机
    H3C-交换机维护命令大全
    Centos6.5 安装zabbix-agent 3.0
    Linux系统调试工具之sysdig使用详解
    通过实例学习 tcpdump 命令
    系统之锹sysdig:Linux服务器监控和排障利器
  • 原文地址:https://www.cnblogs.com/luxiaoyao/p/8536067.html
Copyright © 2011-2022 走看看