菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

JS 教程

JS HOME JS Introduction JS Where To JS Output JS Statements JS Syntax JS Comments JS Variables JS Let JS Const JS Operators JS Arithmetic JS Assignment JS Data Types JS Functions JS Objects JS Object Properties JS Object Methods JS Object Display JS Object Constructors JS Events JS Strings JS String Methods JS String Search JS String Templates JS Numbers JS BigInt JS Number Methods JS Number Properties JS Arrays JS Array Methods JS Array Search JS Array Sort JS Array Iteration JS Array Const JS Dates JS Date Formats JS Date Get Methods JS Date Set Methods JS Math JS Random JS Booleans JS Comparisons JS If Else JS Switch JS Loop For JS Loop For In JS Loop For Of JS Loop While JS Break JS Iterables JS Sets JS Set Methods JS Maps JS Map Methods JS Typeof JS Type Conversion JS Destructuring JS Bitwise JS RegExp JS Precedence JS Errors JS Scope JS Hoisting JS Strict Mode JS this Keyword JS Arrow Function JS Classes JS Modules JS JSON JS Debugging JS Style Guide JS Best Practices JS Mistakes JS Performance JS Reserved Words

JS 版本

JS 版本 JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS 2019 JS 2020 JS 2021 JS 2022 JS 2023 JS 2024 JS IE / Edge JS 历史

JS 对象

对象定义 对象原型 对象方法 对象属性 对象 Get / Set 对象保护

JS 函数

函数定义 函数参数 函数调用 函数 Call 函数 Apply 函数 Bind 函数闭包

JS 类

类入门 类继承 类静态

JS 异步

JS 回调 JS 异步 JS Promises JS Async/Await

JS HTML DOM

DOM 入门 DOM 方法 DOM Document DOM 元素 DOM HTML DOM 表单 DOM CSS DOM 动画 DOM 事件 DOM 事件监听器 DOM 导航 DOM 节点 DOM 集合 DOM 节点列表

JS Browser BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Web APIs

Web API 入门 Web 表单 API Web History API Web Storage API Web Worker API Web Fetch API Web Geolocation API

JS AJAX

AJAX 入门 AJAX XMLHttp AJAX Request AJAX Response AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用 AJAX 示例

JS JSON

JSON 入门 JSON 语法 JSON vs XML JSON 数据类型 JSON 解析 JSON Stringify JSON 对象 JSON 数组 JSON 服务器 JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery 选择器 jQuery HTML jQuery CSS jQuery DOM

JS Graphics

JS Graphics JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

JS 示例

JS 示例 JS HTML DOM JS HTML 输入 JS HTML 对象 JS HTML 事件 JS 浏览器 JS 编辑器 JS 练习 JS 测验 JS 网站 JS 面试准备 JS Bootcamp JS 证书

JS 参考

JavaScript 对象 HTML DOM 对象


JavaScript 变量

变量是存储数据的容器

JavaScript 变量可以 4 种方式声明

  • 自动声明
  • 使用 var
  • 使用 let
  • 使用 const

在第一个示例中,xyz 是未声明的变量。

它们在使用时自动声明

示例

x = 5;
y = 6;
z = x + y;
自己动手试一试 »

注意

始终在使用前声明变量被认为是良好的编程实践。

从示例中你可以猜到

  • x 存储值 5
  • y 存储值 6
  • z 存储值 11

使用 var 的示例

var x = 5;
var y = 6;
var z = x + y;
自己动手试一试 »

注意

从 1995 年到 2015 年,var 关键字被用于所有 JavaScript 代码。

letconst 关键字是在 2015 年添加到 JavaScript 中的。

var 关键字只能用于为旧版浏览器编写的代码。

使用 let 的示例

let x = 5;
let y = 6;
let z = x + y;
自己动手试一试 »

使用 const 的示例

const x = 5;
const y = 6;
const z = x + y;
自己动手试一试 »

混合示例

const price1 = 5;
const price2 = 6;
let total = price1 + price2;
自己动手试一试 »

变量 price1price2 是用 const 关键字声明的。

这些是常量值,不能更改。

变量 total 是用 let 关键字声明的。

total 的值可以更改。

何时使用 var, let, 或 const?

1. 始终声明变量

2. 如果值不应更改,请始终使用 const

3. 如果类型不应更改(数组和对象),请始终使用 const

4. 只有在无法使用 const 时才使用 let

5. 只有在必须支持旧浏览器时才使用 var


就像代数一样

就像代数一样,变量存储值

let x = 5;
let y = 6;

就像代数一样,变量用于表达式

let z = x + y;

从上面的示例中,你可以猜到 total 的计算结果是 11。

注意

变量是存储值的容器。



JavaScript 标识符

所有 JavaScript 变量都必须用唯一名称进行标识

这些唯一的名称称为 标识符

标识符可以是短名称(如 x 和 y),也可以是更具描述性的名称(age、sum、totalVolume)。

构建变量(唯一标识符)名称的通用规则是

  • 名称可以包含字母、数字、下划线和美元符号。
  • 名称必须以字母开头。
  • 名称也可以以 $ 和 _ 开头(但在本教程中我们不使用它)。
  • 名称区分大小写(y 和 Y 是不同的变量)。
  • 保留字(如 JavaScript 关键字)不能用作名称。

注意

JavaScript 标识符区分大小写。


赋值运算符

在 JavaScript 中,等号(=)是“赋值”运算符,而不是“等于”运算符。

这与代数不同。以下在代数中没有意义

x = x + 5

然而,在 JavaScript 中,这是完全有意义的:它将 x + 5 的值赋给 x。

(它计算 x + 5 的值并将结果放入 x。x 的值增加 5。)

注意

“等于”运算符在 JavaScript 中写为 ==


JavaScript Data Types

JavaScript 变量可以存储数字,如 100,也可以存储文本值,如“John Doe”。

在编程中,文本值称为文本字符串。

JavaScript 可以处理多种数据类型,但现在,只需考虑数字和字符串。

字符串用双引号或单引号括起来。数字不带引号。

如果你将数字放在引号中,它将被视为文本字符串。

示例

const pi = 3.14;
let person = "John Doe";
let answer = 'Yes I am!';
自己动手试一试 »

声明 JavaScript 变量

在 JavaScript 中创建一个变量称为“声明”一个变量。

你使用 varlet 关键字声明 JavaScript 变量

var carName;
let carName;

声明后,变量没有值(技术上是 undefined)。

要将值给变量,请使用等号

carName = "Volvo";

您也可以在声明变量时为其赋值

let carName = "Volvo";

在下面的示例中,我们创建了一个名为 carName 的变量,并为其赋了值 “Volvo”。

然后我们在 id="demo" 的 HTML 段落中“输出”该值

示例

<p id="demo"></p>

<script>
let carName = "Volvo";
document.getElementById("demo").innerHTML = carName;
</script>
自己动手试一试 »

注意

在脚本开头声明所有变量是一种良好的编程实践。


一个语句,多个变量

你可以在一个语句中声明多个变量。

let 开始语句,并用逗号分隔变量

示例

let person = "John Doe", carName = "Volvo", price = 200;
自己动手试一试 »

声明可以跨越多行

示例

let person = "John Doe",
carName = "Volvo",
price = 200;
自己动手试一试 »

值 = undefined

在计算机程序中,变量经常在没有值的情况下声明。值可能是一个需要计算的值,或者是一个稍后将提供的值,例如用户输入。

没有值的变量在执行此语句后将具有值 undefined

执行此语句后,carName 变量的值将是 undefined

示例

let carName;
自己动手试一试 »

重新声明 JavaScript 变量

如果你重新声明了一个用 var 声明的 JavaScript 变量,它不会丢失其值。

执行这些语句后,carName 变量仍将具有值 “Volvo”

示例

var carName = "Volvo";
var carName;
自己动手试一试 »

注意

你不能重新声明用 letconst 声明的变量。

这将不起作用

let carName = "Volvo";
let carName;

JavaScript 算术

与代数一样,你可以使用 =+ 等运算符对 JavaScript 变量进行算术运算

示例

let x = 5 + 2 + 3;
自己动手试一试 »

你也可以添加字符串,但字符串将被连接

示例

let x = "John" + " " + "Doe";
自己动手试一试 »

也试试这个

示例

let x = "5" + 2 + 3;
自己动手试一试 »

注意

如果你将数字放在引号中,其余的数字将被视为字符串并连接。

现在试试这个

示例

let x = 2 + 3 + "5";
自己动手试一试 »

JavaScript 美元符号 $

由于 JavaScript 将美元符号视为字母,因此包含 $ 的标识符是有效的变量名

示例

let $ = "Hello World";
let $$$ = 2;
let $myMoney = 5;
自己动手试一试 »

在 JavaScript 中使用美元符号并不常见,但专业程序员经常将其用作 JavaScript 库中主函数的别名。

例如,在 JavaScript 库 jQuery 中,主函数 $ 用于选择 HTML 元素。在 jQuery 中 $("p"); 表示“选择所有 p 元素”。


JavaScript 下划线 (_)

由于 JavaScript 将下划线视为字母,因此包含 _ 的标识符是有效的变量名

示例

let _lastName = "Johnson";
let _x = 2;
let _100 = 5;
自己动手试一试 »

在 JavaScript 中使用下划线并不常见,但专业程序员之间的一个约定是将其用作“私有(隐藏)”变量的别名。


通过练习来测试自己

练习

创建一个名为 carName 的变量,并为其赋 Volvo 的值。

let  = "";

开始练习


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持