记录自己学习JS的知识点(第一天)。

159 阅读2分钟

1.js表示数字的精确格式为[-2^53,2^53],但是js中的某些运算符的范围为[-2^31,2^31 - 1]

2.将数字转换为n进制的字符串toString(n),其中,n=[2,36]

3.0/0=NaN

4.函数是数据类型,可以被存储在变量、数组和对象中,可以作为参数传递给其他函数

5.加法运算

(1)如果对象类型是Date,会调用该对象的toString();

(2)其他情况下,如果valueOf()返回的是原始类型,会调用对象的valueOf();

(3)其他情况下(如果valueOf()不存在或没有返回原始类型),会调用toString()方法,大部分情况下是用的这种转换。

注意:当数组转换为原始类型,JavaScript会使用它的join(',')方法,例如[1,5,6]就是"1,5,6"。普通JavaScript对像{}的原始类型是"[object Object]"。

例1:数字和字符串

var result = 1 + "5"; // "15"

例2:数字和数组

var result = [1, 3, 5] + 1; //"1,3,51"

例3:数字和布尔类型

var result = 10 + true; //11

例4:数字和对象

var result = 15 + {}; // "15[object Object]"

例5: 数字和null

var result = 8 + null; // 8 解析:

8 + null (因为两个操作数都不是字符串,基于规则3将null转为数字0) 8 + 0 (数字相加) 8 因为操作数不是对象也不是字符串,null被转换成数字,然后计算数字的和。

例6: 字符串和null

var result = "queen" + null; // "queennull" 解析:

"queen" + null (因为第一个操作数是字符串,基于规则2将null转成字符串"null") "queen" + "null" (字符串连接) "queennull" 因为第一个操作数是字符串,null转成字符串,然后进行字符串连接。

例7:数字和undefined

var result = 12 + undefined; // NaN

解析:

12 + undefined (因为操作数都不是对象或字符串,基于规则3将undefined转为数字NaN) 12 + NaN (数字相加) NaN

6.in运算符

image.png

7.delete运算符

image.png

image.png

8.with语句(不推荐)

image.png

image.png