Warning: Although String.prototype.substr(…) is not strictly deprecated (as in "removed from the Web standards"), it is considered a legacy function and should be avoided when possible. It is not part of the core JavaScript language and may be removed in the future. If at all possible, use the substring() method instead.
== 和 ===
一般情况下,我是会不会使用
==
符号的,因为这个符号会做隐式类型转换,为了避免心智负担,如果遇到==,我的格式校验工具会直接提示错误。2.0 和 2 数值的难题
JavaScript的数值类型有两种,整数和浮点数。由于保存浮点数值需要的内存是整数的两倍,因此,有些小数点后是0的数值,实际上会被当做整数存储。
字符串和数值隐式类型转换
字符串和数值相加,数值会首先被转换成字符串,然后两个字符串拼接在一起。
一直记不住的substr和substring
每次当我记不住这两个区别的时候,我就看看我的这篇文章。《追本溯源:substr与substring历史漫话》 #139
substr原型可能继承C++, substring原型可能继承Java。虽然这两个函数的名字很难区分,但是含义却是从其他语言中可以找到蛛丝马迹。
从两个函数名中很难区分,只能从函数签名上区分。另外根据mdn的建议,substr未来可能会被移除,建议使用substring替代substr。
一直记不住的call 和 apply