理解编程中的变量
什么是变量?
变量是编程中的基本元素,因为它们用于存储可以在计算机程序中引用和操作的信息。它们提供了一种用描述性名称标记数据的方法,使读者和我们自己更容易理解程序。将变量视为保存信息的容器。它们的唯一目的是在内存中标记和存储数据,然后可以在整个程序中使用这些数据。
为变量赋值
命名变量可能具有挑战性;提出清晰简洁的变量名称可能很困难。然而,在命名变量时,优先考虑描述性和可理解性非常重要。请记住,其他人,包括您自己,将来都需要阅读和理解代码。使用准确反映变量用途的名称将使您的代码更易于阅读和维护。在编程中,使用“=”符号为变量赋值,变量名在左边,值在右边。
例如:
let firstName = 'Joe';
console.log(firstName);
// Output: Joe
这里,字符串“Joe”被分配给变量“firstName”。
注意: 不要将赋值运算符“=”与等号运算符“==”混淆。 =
运算符分配值,而 ==
检查两个值是否相等。
从用户获取数据
为了允许用户交互,您可以使用方法来捕获用户输入。在 JavaScript 中,这可以通过 prompt
包来完成。
例如:
const prompt = require('prompt');
prompt.start();
let { name } = await prompt.get(["name"]);
console.log(name);
// Input: Bob
// Output: Bob
“prompt”函数捕获用户的输入并将其存储在“name”变量中。
变量作用域
变量的作用域决定了它在程序中的何处可访问。范围由变量初始化的位置定义。
函数中的变量作用域
在函数中,在函数内初始化的变量只能在该函数内部访问。
例如:
let name = 'Somebody Else';
function printFullName(firstName, lastName) {
let name = firstName + ' ' + lastName;
console.log(name);
}
printFullName('Peter', 'Henry'); // prints Peter Henry
printFullName('Lynn', 'Blake'); // prints Lynn Blake
console.log(name); // prints Somebody Else
这里,“printFullName”函数内部的“name”变量与其外部的“name”变量是分开的。
变量作用域和块
块是跟随控制语句(例如“if”、“for”或“while”)的一段代码,并由大括号“{}”分隔。
例如:
let total = 0;
\[1, 2, 3].forEach(function(number) {
total += number;
});
console.log(total); // Output: 6
total = 0;
for (let i = 0; i < 3; i++) {
total += (i + 1);
}
console.log(total); // Output: 6
在这两种情况下,块都可以访问和修改块外部定义的“total”变量。但是,在块内初始化的变量(如“i”和“number”)无法在块外访问。
变量类型
JavaScript 中存在三种类型的变量:var
、let
和 const
。
- var:声明一个变量,可以选择将其初始化为一个值。 var
具有函数作用域,这意味着它在声明它的整个函数中都可用。
var varVariable = 'I am a var variable';
- let:声明一个块作用域的局部变量,可以选择将其初始化为一个值。由于其块作用域,let
比 var
更可取。
let letVariable = 'I am a let variable';
- const:声明块范围的只读命名常量。 “const”变量的值不能通过重新赋值来更改。
const constVariable = 'I am a const variable';
变量作用域示例
let a = 5; // variable is initialized in the outer scope
for (let i = 0; i < 3; i++) {
// block scope with a for loop
a = 3; // a is accessible here, in an inner scope
let b = 5; // b is initialized in the inner scope
}
console.log(a); // Output: 3
console.log(b); // ReferenceError: b is not defined
在此示例中,变量“a”在块内部和外部都可以访问,而“b”只能在块内部访问。
理解变量、范围和类型是编写清晰有效的程序的基础。通过仔细命名和使用变量,您可以创建既实用又易于理解的代码。