目录第二章地址第二章思维导图变量声明方式变量提升 hoist第一种提升方式:var第二种提升方式:function(函数提升)第三种提升方式:let & const重复声明疑问:为什么块级作用域使得匿名立即执行函数表达式不再必要了?参考资料第二章let 和 const 命令第二章思维导图第二章读得比较模糊的部分是变量提升和块级作用域。因此查了额外的资料进行补充总结,略过的部分书内都有详细的
前言       本文适用于拥有
ES6 变量声明letlet 只能在其作用域内使用暂时性死区在没有声明 let 变量之前使用变量,会
原创 2022-06-30 11:31:47
61阅读
1.ES6的声明方式ES6一共有三种声明方式:var:是variable的缩写,全局变量;let:局部变量;const:常量var声明 在ES6中,var被定义为全局变量,我们做个测试:在区块中定义一个var的变量a,然后在区块外看看能否打印出来。{ var a = 1; } console.log(a); 复制代码你会发现,这个时候,a是可以打印出来的,这就说明var定义的是全局变量。l
对象分类ES6 规范明确定义了对象的每种类别:普通对象:拥有js对象所有默认的内部行为奇异对象:其内部行为在某些方面有别于默认行为标准对象:如Array、Date等。标准对象可以是普通的,也可以是奇异的内置对象:由js运行环境提供的对象。所有的标准对象都是内置对象。对象字面量ES6用几种方式扩展了对象字面量:属性值简写在以前,对象字面量是键值对的集合,属性值在初始化的时候可能会有重复:functi
1. 对象再JavaScript中,对象是一组无序相关属性和方法的集合,所有事物都是对象,例如,字符串、数值、数组、函数等。对象是由属性和方法组成的:属性:事物的特征,在对象中用属性来表示(常用名词)方法:事物的行为,在对象中用方法来表示(常用动词)2. 类在ES6中新增了类的概念,可以使用class关键字声明一个类,之后这个类来实例化对象。类抽象了对象的公共部分,它泛指某一大类对象特指某一个,通
转载 2024-04-19 13:41:51
37阅读
1、数组解构,可以设置默认值 2、对象解构 对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属
转载 2017-12-08 10:30:00
100阅读
2评论
ECMAScript中的变量是松散的,每个变量只不过是一个保存任意值的“占位符” 3个关键字可以声明变量:var、const、let,后两个只能在ES6+版本中使用 #var 用法:var关键字后跟变量变量未初始化时,默认值为undefined 初始化变量时,只是简单的赋值,并不会将其标识为相应 ...
转载 2021-10-11 11:52:00
42阅读
get关键字特性get关键字可在对象内部使用,可为此对象创造一个伪属性。先看下面一个例子:let obj = { get name(){ let a =10; return a; } } console.log(obj.name); //10当我们去调用o
# const 和 let不要用 var,而是用 const 和 let,分别表示常量和变量。不同于 var 的函数作用域,const 和 let 都是块级作用域。1 const NUM = 1000;2 3 let count = 0;4 count = count + 1;1.count在我们使用const声明常量时,总认为值一旦声明就不可改变,其实是有误解的;const实际上保证的,并不是变
转载 2021-04-21 11:10:24
392阅读
2评论
# const 和 let 不要用 var,而是用 const 和 let,分别表示常量和变量。不同于 var 的函数作用域,const 和 let 都是块级作用域。 1 const NUM = 1000; 2 3 let count = 0; 4 count = count + 1; 1.coun ...
ES6
转载 2021-04-19 12:06:00
155阅读
2评论
ES6中的类只是语法糖,它并没有改变类实现的本质。举个例子,在ES5中定义一个类:function Person(name) { this.name = name; } Person.prototype.sayHello = function(){ return 'Hi, I am ' + this.name; }而用ES6的写法重写一下,检测类型发现Person本质上仍然是
let 与 varvarvar声明的变量拥有全局作用域或者局部作用域在全局中声明变量即为全局变量 在函数中声明变量即为局部变量而var在使用过程中也逐渐暴露出许多问题var的几大问题变量提升使用var来声明变量会出现变量提升的问题,即在声明变量之前就调用变量console.log(info);//undefined var info = 10;出现上面情况其实是非常不好的,因为在声明之前使用的
第十三章 用模块封装代码  其他语言使用诸如包这样的概念来定义代码作用域,在ES6以前,Javascript用“共享一切”的方法加载代码,定义的一切都共享一个全局作用域,随着Web应用程序更加复杂,代码量的增加,这一做法会引起命名冲突、安全问题等。  ES6的一个目标是解决作用域问题,也为了让程序显得有序,于是引入了模块。 第1节 什么是模块?  1. 模块的定义   模块是自动运行在严
一.ECMAScript6,即 ES6,是 ECMAScript 的第六次修订,于 2015年完成,也称 ES2015;ES6 是继 ES5 之后的一次改进,相对于 ES5 更加简洁,提高了开发效率.二.ES6新增的方法:1.新增声明命令 :let 和 const 在 ES6 中通常用 let 和 const 来声明,let 表示变量、const 表示常量.特点:let 和 const 都是块级作
转载 2024-09-03 11:42:50
3235阅读
ES6变量和的定义方式let变量的定义在以前ES5里面,我们使用var定义关键字有以下几个特点1.var定义的变量没有区域性,它必须定义在方法里面才有区域性2.var定义的变量会有一个建立阶段,在定义之前是可以使用这个变量的,只是没有值,值是undefinedlet变量let定义的变量没有建立阶段同时let定义的变量会有先天的自带闭包特性let定义虽然没有建立阶段,但是在之前会有一个扫描特性let
转载 2024-03-20 14:33:29
33阅读
1.变量声明关键字1.var 全局变量,会变量提升2.let 局部变量,跟var类似,区别在于只能局部发挥作用,即在一对{}内发挥作用,并且不会变量提升,不能重复声明3.const 声明的变量类型一般为常量,并且必须赋值,变量名必须得大写2.结构1.数组1.通俗的来说,可以简单地理解为把数组或对象解析为单独的变量2.基本格式:var [a,b,,c='defalut',...res]=arr解析:
转载 2024-06-07 17:50:12
106阅读
一、参考资料ES6 | Guns快速开发平台
replaceAll() replaceAll()可以一次性直接替换所有匹配的内容语法 注意事项 如果searchValue是一个不带有g修饰符的正则表达式,replaceAll( )会报错,与repluce()不同类数组对象的属性名必须为数值型或字符串型的数字,要将一个类数组对象转换为一个真正的数组,必须具备以下条件: 1、该类数组对象必须具有length属性,用于
转载 2024-04-24 10:02:23
190阅读
一、Es61.1、ES6的概述ECMAScript的快速发展: 编程语言JavaScript是ECMAScript的实现和扩展 。ECMAScript是由ECMA(一个类似W3C的标准组织)参与进行标准化的语法规范。ECMAScript定义了:[语言语法] – 语法解析规则、关键字、语句、声明、运算符等。[类型]– 布尔型、数字、字符串、对象等。[原型和继承]内建对象和函数的[标准库] – [JS
转载 2024-04-01 11:43:55
76阅读
  • 1
  • 2
  • 3
  • 4
  • 5