时间总是悄无缝毫地流逝,不留痕迹。近一个月的学习经历,让我对JavaScript的基础有了更深入的理解。从今天开始,我开始接触后台开发,同时也在尝试构建一个基本的JavaScript框架,虽然还有许多细节需要完善,但这也是学习过程的一部分。
JavaScript诞生于1992年,已经走过了27年。Brendan Eich在Netscape公司的那一天,是否曾想过这门语言会成为如此火热的脚本语言?从学习JavaScript的起点说起,我们的旅程就从这里开始:
相信很多人在学习HTML时都会写出“Hello World”这样的第一句话,但在JavaScript学习中,我的第一个语句却是`var a = 1;`。经过这一个月的学习,我才惊觉这看似简单的一句话,背后包含了如此多的知识点。
语句:声明变量并赋值
1. 声明
1.1 声明方式
1.1.1 使用关键词:var, let, const
1.1.2 直接赋值:a = 1;
1.2 声明关键词
1.2.1 var
在ES5标准中,变量声明只有两种方式:
- var声明关键词,可用于声明全局作用域和函数作用域;
- function函数声明,可用于声明全局作用域和函数作用域;
随着ES6的引入,let和const关键词也被推出。这些新的关键词如何与var相比,解决了前面提到的哪些问题?我们需要深入理解变量提升和暂时性死区的概念,这将帮助我们更好地掌握let和const的使用场景。
1.2.2 let & const
在块作用域中,let和const的引入解决了顶层对象属性与全局变量的混淆问题。然而,这些关键词的使用是否会带来新的问题?我们需要深入理解变量提升和暂时性死区的概念,这将帮助我们更好地掌握let和const的使用场景。
1.2.3 let和const的区别
let声明的变量可以重新赋值,而const声明的变量则不能重新赋值。然而,const在处理对象类型时的表现与let有所不同,这一点需要注意。
2. 变量
2.1 作用
变量用于存储值和表达式,是编程中最基础的元素。
2.2 变量名
变量名必须是合法的标识符,遵循特定的命名规则和命名方法。以下是一些需要注意的事项:
- 首字符:Unicode字母、美元符号或下划线;
- 后续字符:Unicode字母、美元符号、下划线或数字;
以下是一些命名方法,可以帮助我们更好地选择变量名:
- 羊肉串命名:to_study
- 驼峰命名:ToStudy 或 toStudy
最后,我们需要注意以下命名禁忌:
- 关键字(如break、case等);
- 保留字(如debugger、enum等);
理解变量的作用域和作用域链是掌握JavaScript编程的关键。通过原文中的示例,我们可以看到变量提升和暂时性死区的实际表现。理解这些概念有助于我们避免常见的编程错误。
在实际开发中,全局变量和局部变量的区别也需要注意。全局变量可以在整个代码中访问,而局部变量只能在函数内部访问。此外,全局变量和顶层对象属性的混淆问题也需要特别注意。
最后,我们需要理解作用域和作用域链的概念。JavaScript分全局作用域和局部作用域两种作用域,全局作用域对应整个脚本标签,而局部作用域对应函数体内。通过作用域链,我们可以理解变量在不同作用域中的查找过程。
通过对这些基础概念的深入理解,我们可以更好地掌握JavaScript编程。未来,我将继续深入学习,逐步掌握这门语言的更多奥秘。