8.语言基础认知

任何语言的核心所描述的都是这门语言在最基本的层面上如何工作,涉及语法、操作符、数据类型

以及内置功能,在此基础之上才可以构建复杂的解决方案。如前所述,

ECMA-262以一个名为 ECMAScript

的伪语言的形式,定义了 JavaScript 的所有这些方面。

ECMA-262 第 5 版( ES5)定义的 ECMAScript,是目前为止实现得最为广泛(即受浏览器支持最好)

的一个版本。第

6 版( ES6)在浏览器中的实现(即受支持)程度次之。到 2017 年底,大多数主流浏览

器几乎或全部实现了这一版的规范。为此,本章接下来的内容主要基于

ECMAScript 第 6 版。


语法:

ECMAScript 的语法很大程度上借鉴了 C 语言和其他类 C 语言,如 Java 和 Perl。熟悉这些语言的开

发者,应该很容易理解

ECMAScript 宽松的语法。





不能使用关键字命名














        const :

           给常量赋值就会报错








null和undefined的差别,前者为一个空对象指针,后者真的是无,前者可预料的

之前虽然也知道这两个之间的区别,但是让我描述的话,感觉上还是说的不是很清楚。今天也详细看了一次这个知识点,现在来说说这两者间的区别。

null: Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值。

undefined: Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined。

null是javascript的关键字,可以认为是对象类型,它是一个空对象指针,和其它语言一样都是代表“空值”,不过 undefined 却是javascript才有的。undefined是在ECMAScript第三版引入的,为了区分空指针对象和未初始化的变量,它是一个预定义的全局变量。没有返回值的函数返回为undefined,没有实参的形参也是undefined。

javaScript权威指南: null 和 undefined 都表示“值的空缺”,你可以认为undefined是表示系统级的、出乎意料的或类似错误的值的空缺,而null是表示程序级的、正常的或在意料之中的值的空缺。

哈哈哈!!是不是感觉不是在说人话。如果和我一样不是很能听懂,请看下面。

javaScript高级程序设计: 在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。 null值则是表示空对象指针。

最后,我的理解就是: undefined是访问一个未初始化的变量时返回的值,而null是访问一个尚未存在的对象时所返回的值。因此,可以把undefined看作是空的变量,而null看作是空的对象。

在定义一个想保存对象的变量时,就可以让该变量先保存null值,这样既能体现null是一个空指针对象,也能更好的区分null和undefined。








你可能感兴趣的:(8.语言基础认知)