- JavaScript 不支持类,类这一概念在 JavaScript 通过对象原型(object prototype)得到延续(有关 ES6 类的内容参考这里
Classes
)。
- JavaScript 中的函数也是对象,JavaScript 允许函数在包含可执行代码的同时,能像其他对象一样被传递。
- JavaScript 不区分整数值和浮点数值,所有数字在 JavaScript 中均用浮点数值表示。
0.1 + 0.2 = 0.30000000000000004
- JavaScript 允许声明变量但不对其赋值,一个未被赋值的变量就是
undefined
类型。还有一点需要说明的是,undefined
实际上是一个不允许修改的常量。
布尔值: false
、0
、空字符串(""
)、NaN
、null
和undefined
被转换为false;
所有其他值被转换为true。
- JavaScript 与其他语言的(如 Java)的重要区别是在 JavaScript 中语句块(blocks)是没有作用域的,只有函数有作用域。因此如果在一个复合语句中(如 if 控制结构中)使用 var 声明一个变量,那么它的作用域是整个函数(复合语句在函数中)。 但是从 ECMAScript Edition 6 开始将有所不同的,
let
和const
关键字允许你创建块作用域的变量。 - 如果你用一个字符串加上一个数字(或其他值),那么操作数都会被首先转换为字符串。
- 由两个“
=
(等号)”组成的相等运算符有类型自适应的功能,如果在比较前不需要自动类型转换,应该使用由三个“=
(等号)”组成的相等运算符。JavaScript 还支持!=
和!==
两种不等运算符,具体区别与两种相等运算符的区别类似。(“123” == 123 true;“123” === 123 false) - JavaScript 中的对象可以简单理解成“名称-值”对。(键值对)类似如下:
Python 中的字典
Perl 和 Ruby 中的散列(哈希)
C/C++ 中的散列表
Java 中的 HashMap
PHP 中的关联数组
- JavaScript 允许使用任意函数对象的
apply() 方法
来调用该函数,并传递给它一个包含了参数的数组。
- 除 Object 以外的所有类型都是不可变的(值本身无法被改变)。
- 两个字符串的连接使用连接操作符 (
+
) 或者String.concat()。
在计算机科学中, 对象是指内存中的可以被 标识符引用的一块区域.