变量和数据类型
变量声明的基础知识
在 JavaScript 中,变量就像是一个容器,用来保存数据。我们可以用不同的关键字来声明变量,比如 var、let 和 const。每个关键字都有不同的特性和使用场景,让我们逐一讲解。
1. var:老式的变量声明
var 是 JavaScript 中最早用来声明变量的方式。它有一些特殊的规则和行为。
- 函数作用域: var 声明的变量在函数内是全局可用的,甚至可以在声明之前使用(但这通常会引发一些问题)。
- 变量提升: 使用 var 声明的变量会被“提升”到函数或全局作用域的顶部,这意味着你可以在变量声明之前访问它,但值会是 undefined。
举个例子:
在上面的例子中,尽管 console.log(name) 在声明 name 之前执行,但由于 var 的变量提升特性,它不会报错。不过,第一次输出的是 undefined,因为变量已经被提升,但还没赋值。
2. let:块级作用域的变量声明
let 是在 ES6 (ECMAScript 2015) 中引入的,用来解决 var 的一些问题,特别是作用域的问题。
- 块级作用域: let 只在它被声明的块(即用 {} 括起来的代码块)中生效。这意味着你不能在块的外部访问它。
- 没有变量提升: 与 var 不同,let 不会被提升到作用域顶部,你必须先声明再使用。
举个例子:
在这个例子中,age 变量只在 if 块内部是有效的。尝试在 if 块外访问 age 会导致错误。
3. const:常量声明
const 也是 ES6 中引入的,它用来声明“常量”变量。
- 必须初始化: 使用 const 声明的变量必须在声明时赋值,否则会报错。
- 不可更改: 一旦用 const 声明并赋值后,这个变量的值就不能再被修改。
举个例子:
在这个例子中,PI 是个常量,代表圆周率。试图重新赋值给 PI 会导致错误,因为 const 不允许修改。
4. 总结:何时使用 var、let 和 const
- var:尽量避免使用。它容易引发作用域问题和意想不到的错误,除非你在需要兼容非常老旧的浏览器。
- let:推荐用于大多数变量声明,它灵活且安全,避免了很多 var 带来的问题。
- const:用于那些你不希望被重新赋值的变量,比如配置值、常量等。
变量的命名规则
在 JavaScript 中,变量命名需要遵循以下规则:

1. 变量名区分大小写,myVar 和 myvar 是两个不同的变量。
2. 变量名可以包含字母、数字、下划线 _ 和美元符号 $。
3. 变量名不能以数字开头。
4. 变量名不能是 JavaScript 关键字或保留字,如 var、function、if 等。
5. 通常使用 camelCase 命名法,第一个单词小写,后续单词首字母大写。
常见基础数据类型
JavaScript 中有几种基本数据类型:
1. 数字(Number): 包括整数和浮点数。
2. 字符串(String): 用单引号 '、双引号 "或反引号 ` 括起来的文本。
3. 布尔值(Boolean): 只有 true 和 false 两个值。
4. null: 表示一个空值或不存在的对象。
5. undefined: 表示一个变量未被赋值。
6. 此外还有复杂的数据类型,比如 Object 和 Array,暂时先不深入讲解。
补充知识点:模板字符串(Template Strings)
模板字符串是 JavaScript 中一种更简洁、更强大的表示字符串的方法。它在 ES6(ECMAScript 2015)中引入,使用反引号(`)而不是普通的单引号或双引号。模板字符串不仅让字符串的写法更加直观,还带来了几个非常实用的功能。</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> 1. 基本用法:反引号</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>模板字符串的基本形式就是用反引号把字符串括起来:</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>你可以像使用普通字符串一样使用模板字符串,但它有一些额外的优势。</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> 2. 插值表达式:在字符串中嵌入变量或表达式</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>模板字符串最强大的功能之一就是可以在字符串中直接嵌入变量。你只需要在${}中放入变量,它们的值就会被自动插入到字符串中。</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>在这个例子中,name和age变量的值被直接插入到字符串中,而不需要像以前那样通过字符串拼接(+操作符)来实现。</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>可以在字符串中直接嵌入变量,并且减少了传统字符串拼接时使用+` 号的繁琐,代码更易读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/144857.html