首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【JavaScript】作用域 ② ( JavaScript 块级作用域 | ES6 之前 等同于 全局局部作用域 | ES6 使用 let const 声明变量 常量 有 块级作用域 )

    一、JavaScript 块级作用域 1、块级作用域 - ES6 之前 等同于 全局作用域 在 JavaScript 中 , 块级作用域 指的是 在一对大括号 {} 内 声明的变量 只在这对大括号内部可见...; 在 ES6 之前 JavaScript 只有 全局作用域 和 局部作用域 概念 , 没有 块级作用域 概念 , 此时 块级作用域 相当于 全局作用域 或 局部作用域 , 具体 取决于 {} 是在哪个作用域中...使用 let / const 声明变量 / 常量 ES6 引入了 let 和 const 关键字 , 这两个关键字 声明的 变量 或 常量 具有块级作用域 ; 在 {} 代码块中 , 使用 let 或...const 声明 变量 或 常量 , 在 代码块 外部无法访问 ; 3、代码示例 - ES6 之前的块级作用域 = 全局作用域 在下面的代码中 , 在 {} 代码块中 , 使用 var 关键字声明的变量...if 语句的大括号 {} 内部可见 ; 如果在 if 语句外部访问 num2 变量 , 会抛出如下错误 : hello.html:19 Uncaught ReferenceError: num2 is

    1.1K10

    javascript ES6 初次相见

    JS的ES6网上也热炒了好久了, 我一直也没怎么太细看, 今天想起来就写个东西, 也为分享,也为学习。...(arguments) } func(xx);// 貌似arguments不能用了,啥也输出不出来 ---------- var 好像也不用了, 改let和const了, 以后局域变量就let; 全局常量就...目前还不知这个毛用 ---------- ES6也支持module模块啦, 这个貌似不错的样子, 就因为有这个了,有人说seaJs、requireJs都要挖坑埋了什么的呢, 不过没关系,反正这些我都没学...,哈哈 ---------- ES6的东西也挺多的, 但我个人觉得纯纯新添加的东西其实不错, 更多的都是对之前的增强和修补。...以上都是我个人的偏见 相关链接: javascript设计模式 -- 工厂模式 闲聊javascript设计模式 - 单例模式

    70570

    javascript错误类型

    作为一个程序员,需要的不仅仅是技术,更是需要在遇到错误的时候对错误的处理能力。就前端而言,技术一直在更新,但是JavaScript中的错误也就是那么几个。掌握不同的报错信息会让你的实际开发事半功倍。...JavaScript中的错误类型 Error EvalError RangeError ReferenceError SyntaxError TypeError URIError Error Error...SyntaxError 当Javascript语言解析代码时,Javascript引擎发现了不符合语法规范的tokens或token顺序时抛出SyntaxError。...TypeError 这个错误在JavaScript中是经常遇到的,不管是初学者还是老手。在变量中保存着以外的类型时,或者在访问不存在的方法时。都会导致这种错误。...抛出错误 在使用try-catch语句时发生错误我们可以执行其他事情或者是抛出这个错误。抛出错误使用throw操作符。

    1.6K30

    JavaScript ES6 (五) – 集合

    本章我们将学习 ES6 中的 Set(集合) 及 WeakSet 集合 的相关用法及使用场景。...一、概述 Set 集合是 ES6 引入的新的内置对象类型,其特点同数学意义的集合,即集合内所有元素不重复(元素唯一)。...要了解 Set 集合,我们可以先看看数组,ES6 之前数组类似于数学意义上 集合,但是差异在于数组元素值是可重复。...WeakSet 集合 WeakSet 和 普通的 Set 相似,不同点在于: WeakSet 只能添加对象元素 WeakSet 无法迭代 没有 clear() 方法 为什么没有 clear 方法,阮一峰老师的 ES6...另外,由于 WeakSet 内部有多少个成员,取决于垃圾回收机制有没有运行,运行前后很可能成员个数是不一样的,而垃圾回收机制何时运行是不可预测的,因此 ES6 规定 WeakSet 不可遍历。

    1.1K10

    JavaScript 错误异常

    JavaScript 错误异常 错误异常语句 try 语句测试代码块中的错误 catch 语句处理错误 throw 语句允许自定义错误 finally 语句在错误异常语句后,必须执行的代码块 try {...try … catch 语句 try { 需要检测的代码块; } catch { 处理 try 检测到错误的代码块; } 抛出异常 当发送错误是,JavaScript通常会抛出异常并产生异常错误信息...(抛出异常) JavaScript实际上会创建带有两个属性的Error对象:name 和 message throw 语句 throw:允许您创建自定义的错误 throw "To Bug" ; throw...DOCTYPE html> javascript <body...拥有内置的error对象 Error对象属性 属性 描述 name 设置或返回错误名 message 设置或返回错误信息(一条字符串) Error Name Values Error的name属性可返回六个不同的值

    1.1K30

    JavaScript 学习-10.使用const声明常量

    前言 const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改。...const 声明常量 const定义常量与使用let 定义的变量相似: 二者都是块级作用域 都不能和它所在作用域内的其他变量或函数拥有相同的名称 两者还有以下两点区别: const声明的常量必须初始化,...而let声明的变量不用 const 定义常量的值不能通过再赋值修改,也不能再次声明。...,而let声明的变量不用 // 错误写法 const PI; PI = 3.14 以下是正确写法,声明的同时赋值 // 正确写法 const PI = 3.14; 初始化后值不可再修改 const PI...= 3.14; PI = PI + 1; // 报错 并非真正的常量 使用 const 定义的字符串和数字类型是不可变的,当定义一个对象或数组时,里面的内容是可以修改的。

    1.4K20

    带你入门 JavaScript ES6 (一)

    ES6: 是 ECMA国际组织于 2015 年 6 月 17 日发布的 ECMAScript 第六版,正式名为 ECMAScript 2015,通常被成为 ES6 或 ECMAScript 6。...目录: 一、let 和 const 声明块作用域变量 二、模版字面量 三、解构赋值 四、对象字面量简写 五、默认参数 一、 let 和 const 声明块作用域变量 ES6 引入 let 和 const...不同之处在于不会对申明的变量(或常量)提升作用域范围 1.1 let 变量声明 let 语法用于声明块作用域内的可重新赋值的变量,作用域内无法重新声明 MDN let let name = 'huliuqing...' name = 'Hu Liuqing' console.log(name) 1.2 const 常量声明 const 语法用于声明是必须 赋值初始值,并且无法重新复制,作用域内不能重新声明 MDN...都是定义在 if 代码块内 当在 if 代码块外调用isSpring, theSeason, SUMMER_SEASON时,由于 let 和 const 块作用域特性会在控制台报 not defined 错误

    88410

    带你入门 JavaScript ES6 (二)

    上一篇学习下一代 JavaScript 语法: ES6 (一),我们学习了关于块作用域变量或常量声明 let 和 const 语法、新的字符串拼接语法模版字面量、数组元素或对象元素的解构赋值和对象字面量简写的相关知识...:展开运算符、剩余参数) 一、for of 迭代语法 先让我们看看 ES6 之前的对象变量迭代(遍历)方式: 1.1 for 语句 for 语句 let numerics = [0, 1, 2, 3]...numerics) { console.log(numerics[index]) } 但是 for in 语句依然需要定义 index,作为访问数据的索引 1.3 for of 语句 现在在 ES6...,在上一篇[学习下一代 JavaScript 语法: ES6 (一)]()的「3.1」节中我们使用了将数组中剩余元素解构赋值到一个变量。这便是扩展运算符的用途之一。...] console.log(...languages)// php javascript python c++ console.log(languages)// ["php", "javascript

    92010
    领券