JavaScript学习笔记四:基本概念
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript学习笔记四:基本概念相关的知识,希望对你有一定的参考价值。
1.对非数值应用一元加/减操作符时,该操作符会像Number()转型函数一样对这个值进行转换。例:var s = +"01" //值变成数值1。
2.ECMAScript中的所有数值都以IEEE-754 64位格式存储,但操作符并不直接操作64位值,因此整个过程就像只存在32位的整数一样。
3.对于有符号的整数,32位中的前31位用于表示整数的值,第32位为符号位:0表示正数,1表示负数。其中,正数以纯二进制格式存储,负数以二进制格式的补码存储。
4.按位非(~):本质是操作数的负值减一。
5.左移(<<)不会影响操作数的符号位,右移分为有符号右移(>>)和无符号右移(>>>)。
6.逻辑非(!)会将它的操作数转换为一个布尔值(模拟Boolean()),然后再求其反。
7.在有一个操作数不是布尔值的情况,逻辑与(逻辑或)操作不一定返回布尔值。逻辑与(逻辑或)操作属于短路操作,即如果第一个操作数能决定结果,那么就不会再对第二个操作数求值。
8.ECMAScript中的加性和乘性操作符在操作数为非数值的情况下会执行自动类型转换。
9.关系操作符,如果两个操作数都是字符串,则比较两个字符串对应的字符编码值。
10.任何操作数与NaN比较,结果都是false。
11.ECMAScript有两组相等操作符:1.相等和不等(自动转换类型后比较);2.全等和不全等(不转换类型直接比较)。注:null和undefined是相等的,但不是全等的。
12.ECMAScript不存在块级作用域,因此在代码块内部定义的变量也可以在外部访问到。
13.可以在switch语句中使用任何数据类型,无论字符串还是对象都可以,而且,每个case的值不一定是常量,可以是变量,甚至可以是表达式。switch语句在比较值时使用的是全等操作符,因此不会发生类型转换。
14.ECMAScript中函数在定义时不必指定是否返回值。
15.return语句可以不带有任何返回值,函数在停止执行后将返回undefined。
16.在函数体内可以通过arguments对象来访问参数数组。arguments[0]代表第一个参数,以此类推。通过arguments的length属性可以获知有多少个参数传递给了函数。
17.ECMAScript函数不能像传统意义上那样实现重载。如果定义了两个同名函数,则该名字只属于后定义的函数。
17.ECMAScript函数的一个重要特点:命名的参数只提供便利,但不是必须的。
以上是关于JavaScript学习笔记四:基本概念的主要内容,如果未能解决你的问题,请参考以下文章