数据类型最基本的是分类和判断。
_____________________________________________________________________________
在总结这篇文章的时候,我的脑海里一直被一个问题所困扰:使用一个变量的完整过程是什么?更细节点,我知道初始化和赋值,但是一个变量的定义,声明,创建这三者有什么区别呢?
还是最经典的第一步,先查阅官方文档,官方文档相对是权威的。
MDN对变量的声明,创建,定义三者之间并没有明确区分,当然,这是翻译后的文档,英文中这三个名词的单词是不一样的,如果这三者没有区别,那为什么要用三个单词呢?不排除历史原因。
MDN总结:
一.变量的特性:
1.它存放的“东西”是可以改变的。
2.它们能够存储任何的东西 。
二、接着MDN为我们说明了(我看的是中文的文档)
1.“要想使用变量,你需要做的第一步就是创建它 -- 更准确的说,是声明一个变量。声明一 个变量的语法是在 var
或 let
关键字之后加上这个变量的名字:”
也就是说,在MDN文档里,创建和声明是一回事。
另一个知识:由于变量声明(以及其他声明)总是在任意代码执行之前处理的,所以在代码中的任意位置声明变量总是等效于在代码开头声明。这意味着变量可以在声明之前使用,这个行为叫做“hoisting”。“hoisting”就像是把所有的变量声明移动到函数或者全局代码的开头位置。
因此,建议始终在作用域顶部声明变量(全局代码的顶部和函数代码的顶部),这可以清楚知道哪些变量是函数作用域(本地),哪些变量在作用域链上解决。
2. 初始化变量。“一旦你定义了一个变量,你就能够初始化它. 方法如下,在变量名之后跟上一个“=”,然后是数值:”
由这里可以看出MDN对变量的声明,创建,定义三者之间并没有明确区分,当然,这是翻译后的文档,英文中这三个名词的单词是不一样的,如果这三者没有区别,那为什么要用三个单词呢?不排除历史原因。
注意,在声明变量的时候也可以给变量初始化:
3.变量赋值
如何存储你需要的信息 — 变量 - 学习 Web 开发 | MDN (mozilla.org)
var 描述 - JavaScript | MDN (mozilla.org)
———————————————————————————————————————————
接着返回正题:
一、方应杭知乎
「每日一题」JS里基本类型(值)和复杂类型(引用)有什么区别? - 知乎 (zhihu.com)
每次看方大佬的文章都感觉很深入浅出,通俗易懂,作为一个计算机专业的学生,非常喜欢看到的就是将这些语言去深入到数据结构,操作系统,计算机组成原理,计算机网络上去。
由此引出了浅拷贝和深拷贝的问题,我将会在以后的文章中写出我以前对这个问题的总结。