var let const 的区别
var是ES6之前JavaScript用于定义变量的语法,而let const是ES6之后JavaScript用于定义变量的语法
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
var存在的两个bug
- JS没有块级作用域
- 通过var声明的变量,其作用域是函数的全部
- 循环内变量会过度共享
- 意思就是说在循环内部定义的变量,在循环外部依旧可以访问
let存在的意义
- let声明的变量拥有块级作用域
- let声明的变量其作用域只是外层快,而不是外层函数
- let声明的全局变量不是全局对象的属性
- 通过let声明的全局变量无法通过window.变量名进行访问,其只存在于一个不存的作用域中
- 行如
for(let x in data)
的循环在每次迭代时都会为x
创建新的绑定 - let声明的变量无法重新被定义
const的作用
- const就是用于定义常量的
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
es6为类创建多个构造函数
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82820605 虽然ES6之后可以实现JavaScript创建Class,但自身并不提供函数重载,所以无法直接创建多个构造函数 更多精彩 更多技术博客,请移步 asing1elife’s blog 解决 原理则是对一个构造函数的传值进行类型判断,从而实现根据类型的不同调用不同的构造函数方法体 export default class User { constructor (obj) { if (typeof obj === 'string') { this._constructorSimple(obj) } else if (typeof obj === 'object') { this._constructorComplex(obj) } } _constructorSimple (id) { this.id = id this.code = '' this.name = '' this.sex =...
- 下一篇
Python正则表达式初识(二)
前几天给大家分享了Python正则表达式初识(一),介绍了正则表达式中的三个特殊字符“^”、“.”和“*”,感兴趣的伙伴可以戳进去看看,今天小编继续给大家分享Python正则表达式相关特殊字符知识点。 1、特殊字符“$”代表的意思是结尾字符。举个栗子,正则表达式“3$”,表示匹配以3为结尾的字符串。代码演示如下图所示。 正则表达式匹配模式“.*3$”代表以3结尾的任意字符的字符串,很显然匹配的结果和原始字符串是一致的,所以有返回结果。 2、如果将正则表达式匹配模式改为“.*4$”,则表示以4结尾的任意字符的字符串,此时是没有任何的输入结果的,如下图所示。 3、正则表达式特殊字符“?”比较常用,其代表的意思是非贪婪匹配模式。默认情况下,匹配字符串是一种贪婪的匹配,换句话说,默认情况下字符串会根据匹配模式,去匹配最大的长度。 4、下图是一个实例。其中括号代表的是提取字符串的子串,正则表达式会把满足匹配条件的字符串放到括号里边。匹配模式“.*(p.*p).*”代表的意思是:左边的“.* ”的意思是任意字符串,可以是空,也可以是非空的字符串,之后是字符p,中间的“.* ” 的意思也是任意字符串...
相关文章
文章评论
共有0条评论来说两句吧...