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

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

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

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

https://segmentfault.com/a/1190000012730162

上篇说了一些 JS 中数组操作的常见误区,这次来总结一下初学者常见的其他易错点。

写立即执行函数时前置 void

立即执行函数(IIFE)在 JS 非常常用,作用就是构造一个函数级的变量作用域。常见的写法如下:

(function () {

// code

})();

这样写可能会被 JS 理解成为一个函数调用

var a = 1

(function () { // Uncaught TypeError: 1 is not a function

})()

从今天改变习惯,这样写:

void function () {

// code

}();

有些人喜欢以 !打头,个人习惯问题。

在 standardjs 规范日益流行的今天,忽略行尾分号成为了主流(但是笔者不喜欢),更要改变这个习惯

注:standardjs 本身禁止行首括号(https://standardjs.com/readme-zhcn.html#user-content-细则)

检查一个变量是否为对象之前,首先判断其值是否为 null

虽然不愿承认,JS 标准说:

typeof null === 'object' // true

毋庸置疑的, null不具备作为对象类型的基本特征,是原始类型。这是一个广为人知的 JS 的 bug,,它从 JS 诞生开始就存在,从未、而且永远不会被修复

我们不必去探究它的黑历史,但是我们写代码时判断一个变量的类型时,首先需要判断它是否为 null

if (someVal !== null && typeof someVal === 'object') {

// someVal 是一个对象

}

做数值计算时,注意 JS 数值类型的精度

在 JS 里,所有的 number 原始值都是一个双精度浮点数,对应 Java 的 double 类型,对应标准 IEEE754。小心它的精度问题。

做整数处理时,注意数值的大小

JS 最大可存储的安全整数(不存在精度问题)为 9007199254740991 (16位,Number.MAXSAFEINTEGER ),注意比 Java 的 long 类型最大整数 9223372036854775807 (19位) 小几个数量级,所以有时 JS 的 number 类型是不能精确存储 Java 的整数的(当然通常情况下不是问题)。

问题通常出在前后端数据传输上。中的主键通常是一个自增长的长整型数,有可能会超出 JS 的安全整数范围,这时请考虑使用字符串传输。

做小数计算时,注意浮点数的精度问题

例如:0.1+0.2 => 0.30000000000000004,0.4-0.3 => 0.10000000000000003

将小数转化为字符串时,永远记得使用 toFixed 取小数点后若干位数字:

(0.1 + 0.2).toFixed(2) === '0.30'

比较小数相等时,切记不要直接使用 ===,而要使用相减取绝对值的方式(表示两数相差在一定范围内即认为他们相等)。

0.1+0.2 === 0.3 // false

Math.abs(0.1+0.2 - 0.3) <= 1e-10 // true

NaN !== NaN

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

NaN 之所以 NB,因为它有一个独一无二的特性。对!独一无二!那就是:

NaN === NaN // false

var a = NaN; a === a // false


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

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

    • 元宁宗懿璘质班
      元宁宗懿璘质班

      因为我们奈何不了他们

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