JavaScript - 变量
嘿,未来的编程超级巨星!? 欢迎加入我们激动人心的JavaScript变量世界之旅。作为你友好的邻居计算机科学老师,我非常激动能引导你学习这个基本概念。所以,戴上你的虚拟思考帽,让我们一起深入探讨!
JavaScript 变量
想象一下你在组织一个派对(因为谁不喜欢一个好的编程派对,对吧?)。你需要一个地方来存储所有重要的信息 - 比如要订购多少披萨、谁来参加以及要玩什么游戏。在JavaScript中,变量就像是你的派对计划中的存储容器。它们保存我们程序运行所需的数据。
让我们从一个简单的例子开始:
let partyGuests = 10;
在这里,我们创建了一个名为 partyGuests
的变量并赋值为10。这就像在便利贴上写下,“我们预计会有10位客人”。
JavaScript 中的变量声明
现在,让我们来谈谈我们是如何实际创建这些变量的。在JavaScript中,我们有三种声明变量的方式:
-
var
- 老派方式(仍然有效,但有一些怪癖) -
let
- 新晋小鲜肉(用于可能会变化的变量) -
const
- 坚定的守护者(用于不会变化的变量)
让我们看看它们是如何工作的:
var oldSchoolCool = "我是一个var变量";
let modernAndFlexible = "我是一个let变量";
const rockSolid = "我是一个const变量";
将 var
比作你祖父的黑胶唱片,let
比作你的可重写CD,const
比作你永远不想改变的最爱歌曲。
使用赋值运算符初始化变量
记得数学课上的 =
符号吗?在JavaScript中,它被称为赋值运算符。它就像一根魔法棒,将值放入我们的变量中:
let magicNumber; // 声明
magicNumber = 42; // 初始化
// 或者我们可以一次完成两项操作:
let theAnswerToEverything = 42;
小贴士:始终初始化你的变量。这就像在邀请朋友来之前确保冰箱里有食物一样!
JavaScript 数据类型
JavaScript在存储数据类型方面非常灵活。以下是主要的类型:
数据类型 | 示例 | 描述 |
---|---|---|
Number | let age = 25; |
用于数值 |
String | let name = "Alice"; |
用于文本 |
Boolean | let isAwesome = true; |
用于真/假值 |
Undefined | let mystery; |
用于没有值的变量 |
Null | let emptyBox = null; |
用于故意为空的变量 |
Object | let person = {name: "Bob", age: 30}; |
用于复杂数据结构 |
Array | let fruits = ["apple", "banana", "cherry"]; |
用于项目列表 |
让我们看看它们是如何工作的:
let myAge = 30;
let myName = "JavaScript忍者";
let canCode = true;
let futureSkill;
let emptyMind = null;
let myProfile = {job: "程序员", hobby: "喝咖啡"};
let myTodoList = ["学习JS", "构建伟大的作品", "改变世界"];
console.log(typeof myAge); // 输出:number
console.log(typeof myName); // 输出:string
console.log(typeof canCode); // 输出:boolean
console.log(typeof futureSkill); // 输出:undefined
console.log(typeof emptyMind); // 输出:object(JavaScript的一个特性!)
console.log(typeof myProfile); // 输出:object
console.log(typeof myTodoList); // 输出:object(数组是JS中的特殊对象)
JavaScript 变量命名(标识符)
给变量起名就像给宠物起名一样 - 有规则,但你可以发挥创意!以下是一些关键规则:
- 以字母、下划线(_)或美元符号($)开头
- 可以包含字母、数字、下划线或美元符号
- 区分大小写(myVar ≠ myvar)
- 不能使用保留关键字(如
let
、const
、function
等)
好的例子:
let camelCase = "我是以驼峰式命名的";
let _underscoreFirst = "我以下划线开头";
let $dollarSign = "我感到很富有";
let mix123 = "我是字母和数字的组合";
不那么好的例子:
let 123abc = "我以下划线开头,所以我是无效的";
let my-variable = "连字符不允许用在变量名中";
let let = "我是保留关键字,所以我不允许使用";
JavaScript 美元符号($)和下划线(_)
美元符号($)和下划线(_)在JavaScript中是特殊字符。它们通常用于库名称或特殊用途:
let $_$ = "我是一个有效的变量名,但我看起来很奇怪";
let _privateVariable = "我通常用来表示私有变量";
let $jQueryObject = "我经常在jQuery中使用,表示一个jQuery对象";
JavaScript 未定义变量值
当你声明一个变量而没有初始化它时,它会得到一个特殊的值,称为 undefined
:
let myFutureCar;
console.log(myFutureCar); // 输出:undefined
// 这与null不同:
let myEmptyGarage = null;
console.log(myEmptyGarage); // 输出:null
将 undefined
想作是“我忘记在这里放置一个值”,而 null
想作是“我故意留空的”。
JavaScript 变量作用域
JavaScript中的作用域就像是忍者的可见性。有些变量随处可见(全局作用域),而有些变量只能在特定区域可见(局部作用域)。
let globalNinja = "我无处不在!";
function stealthMission() {
let localNinja = "我只能在函数内部可见";
console.log(globalNinja); // 这可以工作
console.log(localNinja); // 这也可以工作
}
console.log(globalNinja); // 这可以工作
console.log(localNinja); // 这会抛出错误 - localNinja在这里未定义
记住,在Vegas...我是说,在函数内发生的事情,除非你明确返回它,否则它会留在函数内。
就这样,我的编程学徒!你已经升级了你的JavaScript技能。记住,熟能生巧,所以继续编程和实验。在你意识到之前,你将像专业的马戏团表演者一样熟练地处理变量!??♀️
快乐编程,愿变量永远在你身边!?✨
Credits: Image by storyset