b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

接口安全调用 给初学者:JavaScript 的常见注意点(2)

电脑杂谈  发布时间:2018-02-22 06:19:23  来源:网络整理

NaN不等于它自己。你可以使用这个特性判断一个变量是否为 NaN,一个变量如果不等于它自己,这个变量一定是 NaN。

还有一个方式是使用 Number.isNaN。注意如果不已知这个变量的类型是数字时,不要使用 isNaN做判断,因为 isNaN 有个很诡异的特性:它会先将待判断的变量转换为数值类型。

isNaN('abc') // true

isNaN('123') // false

isNaN('') // false

isNaN([]) // false

isNaN({}) // true

永远不要写 someVal===NaN

正确使用 parseInt

首先parseInt接受两个参数,第一个参数为待parse的字符串(如果不是字符串则会首先转换为字符串);第二个参数为使用的进制数。

如果不传第二个参数,则进制由第一个参数决定。什么意思呢?比如以 0x 开头的字符串,会被解析为16进制数。

我们知道以数字 0开头的数字为8进制数(非严格模式),比如 011 === 9,0 本身也是8进制数。那么问题来了, parseInt('011') = ?

答案是看浏览器。目前绝大多数浏览器都会作为10进制数解析,结果为11。但是还有一些老旧的浏览器以8进制数解析(例如IE8和一批老Android浏览器)

所以如果你非要用 parseInt:

parseInt使用规则一:请传入第二个参数

回到 parseInt 本身的含义。顾名思义这个函数是在parse,被parse的一定是个字符串。如果第一个参数不是字符串,那么会首先被转换为字符串。

问: parseInt(0.0000000008)=?

答:

String(0.0000000008) => '8e-10'

parseInt('8e-10') => 8

自己打开调试器去试

parseInt使用规则二:永远不要使用parseInt给小数取整

建议对于数值转换一概使用强制转换函数 Number,如果你JS用6了可以使用 +(正号)。如果需要对某个数字取整,建议使用 Math.trunc。如果你能确定数值在 32 位以内,可以使用 x|0或 ~~x等方式

parseInt的用处在于转换一些CSS里带单位的值: parseInt('10px',10)=> 10。接口安全调用但这里建议使用parseFloat,可以解析小数又没有进制问题。

除了用于比较 null 或 undefined,永远不要使用非严格相等 ==

绝不要简单的把非严格相等 ==理解为两者表示的数字一样,它有一套非常复杂的转换规则:它会先将 %%转换为 @@,然后把 !!转换为 **,如果 %%是 ??类型,还会 xx一把……

看不懂对吧,我相信你就算看懂了也记不住的。不然请问:

'true' == true // => false

'true' == false // => false

[] == {} // => false

[] == [] // => false

关于非严格相等,你只需要记住这个规则:

null == null // => true

undefined == undefined // => true

接口调用成功_接口安全调用_调用接口是什么

null == undefined // => true

undefined == null // => true

x == null // => false (x 非 null 或 undefined)

x == undefined // => false (x 非 null 或 undefined)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-88203-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...