美文网首页
ES6的常量、作用域、箭头函数简单介绍

ES6的常量、作用域、箭头函数简单介绍

作者: 顾落痕 | 来源:发表于2018-07-24 09:26 被阅读0次

1、常量

    定义一个常量(不变化的量)

    ES5 常量定义一个常量

Object.defineProperty(window,"PI",{

    value : 3.1415926,

    writable : false,

})

    ES6 常量定义一个常量

const PI = 3.1415926 ;

    假若代码中有很多地方需要声明常量,通过ES6的方式实现还是比较方便的。

2、作用域

        变量的作用域无非就是两种:全局变量和局部变量。 

            全局作用域: 最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的

            局部作用域: 和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,而对于函数外部是无法访问的,最常见的例如函数内部

ES5-作用域 ES5-作用域输出结果

 原因:var 定义的变量 i 在for 循环中存在变量的提升 而且循环内是一个闭包函数(最后执行)闭包内并没有声明内部的 i 变量,因此 i 变量从for 循环内声明的全局变量中取得,从全局变量中取得时的 i 是最终计算量。循环结束后 i = 3 执行闭包函数输出都是6

在ES6 新增一个定义变量声明 let  块级作用域   声明的变量每次变化时,会新增不同的作用域块,分开执行代码

ES6-作用域 ES6-作用域输出结果

使用let声明变量,变量发生变化时,会新增不同的作用域,再通过不同作用域执行闭包函数,输出不同的值。

3、箭头函数 =>

        var fun = function(){ ... }

        箭头函数:  () => { 函数体 }

               (参数) => { 函数体 }   如果参数只有一个  小括号可以省略

        例如: var fun = (a) => { return a+2; }

              函数调用: fun(20);

这样写的好处

1、在写法上更加方便,省去了书写function,比较简单

2、会改变箭头函数内部this的指向,指向的是定义时绑定的this指向(就是this是继承自父执行上下文)

相关文章

  • Day17 ES6 扉页

    常量 作用域ES3、5用立即执行函数控制作用域ES6用关键字语法let const形成块级作用域 箭头函数主要改变...

  • ES6的常量、作用域、箭头函数简单介绍

    1、常量 定义一个常量(不变化的量) ES5 常量定义一个常量 Object.defineProperty(win...

  • ES6

    常量 ----只读 作用域 箭头函数 默认参数 对象代理

  • 1.ES6简介

    涉及到的内容有:常量、作用域、箭头函数、默认参数、对象代理。 适合学ES6的人:Git 、webpack 、JS

  • JScript语言——ES6(ES2015)

    ES6(ES2015)语法介绍 变量声明let、const 块级作用域 解构赋值 箭头函数清楚简写形式箭头函数的t...

  • ES5与ES6部分对比

    常量声明对比 作用域对比 块作用域对比 箭头函数 箭头函数会改变this的指向 默认参数 可变参数 就是在不确定传...

  • Babel 将 ES6 语法转成 ES5

    ES6 至今已经算是比较很火了, 也多了很多新功能,比如块级作用域、常量、箭头函数等等, 虽然我们写的是ES6 ,...

  • ES6 基本语法

    一、 常量 二、 作用域 通过花括号限制作用域 箭头函数 => : 箭头函数等同于 ES3,ES5 的写法 ES6...

  • ES 6 新特性列表

    作用域块级作用域块级变量 let块级常量 const 箭头函数sum = (a, b) => a + bnums....

  • 箭头函数

    箭头函数本身没有this, 由箭头函数声明时所处作用域决定。作用域(两个): ① 函数作用域 ② 全局作用域箭头函...

网友评论

      本文标题:ES6的常量、作用域、箭头函数简单介绍

      本文链接:https://www.haomeiwen.com/subject/fcxcxftx.html