IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript学习笔记(二) -> 正文阅读

[JavaScript知识库]JavaScript学习笔记(二)


1.?变量

1.1) 什么是变量?

在 JavaScript 中,变量可以用于保存任何类型的数据。
每个变量只不过是一个用于保存任意值的命名占位符。
有 3 个关键字可以声明变量:var、const 和 let。
其中,var 在 ECMAScript 的所有版本中都可以使用,而 const 和 let 只能在 ECMAScript 6 及更晚的版本中使用。


1.2) 变量命名规则

  • 第一个字符必须是字母、下划线( _ )或美元符号( $ ),剩下的其他字符可以是字母、下划线、美元符号或数字。
  • 不能是关键字,保留字(例如 var, true, null)。
  • 最好可以遵循驼峰命名法。首字母小写,后面单词的首字母大写(例如 myName)。

2.?var 关键字

var message;

// 定义多个变量,可以在一条语句中用逗号分隔每个变量。
var one = 1, two = 2, three = 3;

// 在一个函数作用域中,可以重复声明。
function foo() {
	var age;
	var age;
}

定义一个 message 变量,可以用它保存任何类型的值。(不初始化情况下,数据类型为 undefined)。

2.1) var 声明作用域

使用 var 操作符定义的变量会成为包含它的函数的局部变量。


2.2) var 声明提升

使用 var 时,下面代码不会报错。

function foo() {
	console.log(age);
	var age = 26;
}
foo();  // undefined

因为使用 var 声明的变量会自动提升到函数作用域顶部(不过此时 foo()中的 age 数据类型为 undefined)。


3.?let 关键字

let 跟 var 的作用差不多,但有着非常重要的区别。

区别:

  • let 声明的范围是块作用域,而 var 声明的范围是函数作用域。
  • let 声明的变量不会在作用域中被提升。
  • 使用 let 在全局作用域中声明的变量不会成为 window 对象的属性(var 声明的变量则会)。

let 不允许变量在同一个块作用域中重复声明。
(嵌套使用相同的标识符不会报错)

function foo() {
	let age;
	let age; // SyntaxError; age 已经声明过了,会报错。
}

// 嵌套使用
let age = 30;
console.log(age); // 30
if (true) {
	let age = 26;
	console.log(age); // 26
}


4.?const 关键字

const 的行为与 let 基本相同.
唯一一个重要的区别是用它声明变量时必须同时初始化变量,且尝试修改 const 声明的变量会导致运行时错误。

  • const 也不允许重复声明
  • const 声明的作用域也是块

const 声明的限制只适用于它指向的变量的引用。
如果 const 变量引用的是一个对象,那么修改这个对象内部的属性并不违反 const 的限制。即

const person = {};
person.name = 'Matt'; // 这是可以的

5.?声明风格及最佳实践

  • 不使用 var

有了 let 和 const,大多数开发者会发现自己不再需要 var 了。限制自己只使用 let 和 const 有助于提升代码质量,因为变量有了明确的作用域、声明位置,以及不变的值。

  • const 优先,let 次之

使用 const 声明可以让浏览器运行时强制保持变量不变,也可以让静态代码分析工具提前发现不合法的赋值操作。
因此,很多开发者认为应该优先使用 const 来声明变量,只在提前知道未来会有修改时,再使用 let。这样可以让开发者更有信心地推断某些变量的值永远不会变,同时也能迅速发现因意外赋值导致的非预期行为。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:05:01  更:2021-09-06 11:05:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:35:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码