模块化

{
  "name": "webpack-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "webpack",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.2",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-latest": "^6.24.1",
    "webpack": "^3.11.0"
  }
}

开启一个本地服务

npm install http-server -g

http-server -p 8881

Promise语法

function loadImg(src){
  const promise = new Promise(function(resolve,reject){
    var img = document.createElement('img');
    img.onload = function(){
      resolve(img);
    }
    img.onerror = function(){
      reject()
    }
    img.src = src
  })
  return promise;
}
 var src = '#';
  result.then(function (img) {
    console.log(img.width);
  }, function () {
    console.log('failed');
  })
  result.then(function (img) {
    console.log(img.height);
  })

new Promise 实例,而且要return
new Promise时传入函数,函数resolve reject 两个参数
成功时执行resolve()失败执行reject()
then监听结果

  // let / const
  // JS
  var i = 10;
  i = 100;
  var j = 20;
  j = 200;

  // ES6
  let i = 10;
  i = 100; //正确
  const j = 20;
  j = 200; //报错

  // 多行字符串和模板解析
  // js
  var name = 'zhansan',
    age = 20,
    html = '';
  html += '<div>';
  html += ' <p>' + name + '</p>';
  html += ' <p>' + age + '</p>';
  html += '</div>';
  // es6
  const name = 'zhansan',age =20;
  const html = `
        <div>
            <p>${name}</p>
            <p>${age}</p>
        <div>
  `;
 // 解构赋值
  // js
  var obj = {a:100,b:200}
  var a = obj.a;
  var b = obj.b;

  var arr = ['xxx','yyy','zzz'];
  var x = arr[0];
  var z = arr[0];

  // es6
  const obj = {a:100,b:200};
  const {a,b} = obj;
  const arr = ['xxx','yyy','zzz'];
  const [x,y,z] = arr;
 // 块级作用域
  // js
  var obj = {a:100,b:200}
  for(var item in obj){
    console.log(item)
  }
  console.log(item); 'b'
  // es6
  const obj = {a:100,b:200}
  for(let item in obj){
    console.log(item)
  }
  console.log(item); //undefined
// 函数默认参数
  // js
  function a(a,b){
    if(b == null){
      b=0
    }
  }
  // es6
  function a(a,b=0){

  }
  // 箭头函数
  var arr = [1,2,3];
  arr.map(function(item){
    return item + 1
  })
  const arr = [1,2,3,4];
  arr.map(item => item +1);
  arr.map((item,index) => {
    console.log(index);
    return item + 1;
  })
  function fn(){
    console.log('real',this); //{a:100}
    var arr = [1,2,3];
    // 普通 JS
    arr.map(function(item){
      console.log('js',this); //window
      return item + 1;
    })
    // 箭头函数
    arr.map(item =>{
      console.log('es6',this);//{a:100}
      return item + 1;
    })
  }

  fn.call({a:100})

总结-es6常用功能

let/const
多行字符串/模板变量
解构赋值
块级作用域
函数默认参数
箭头函数

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函...
    neromous阅读 12,789评论 1 56
  • 探索是人类的基因,不断的探索新技术才是一个前端开发人的正常状态,下面就总结一下我们在不断变化的前端世界里如何驾驭一...
    小郑子搞码事阅读 7,814评论 0 3
  • Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载...
    zhoulujun阅读 8,019评论 0 14
  • 一、Promise的含义 Promise在JavaScript语言中早有实现,ES6将其写进了语言标准,统一了用法...
    Alex灌汤猫阅读 4,270评论 0 2
  • 昨天晚上快7:00回来,儿子坐在沙发打手机游戏,这也是常态,当做好饭,让他吃饭,还在玩,最后火气突然上来,吃饭才发...
    红糖二姐阅读 1,855评论 0 0

友情链接更多精彩内容