我真的很想知道,有两个重复功能的目的是什么。
例如:
isFinite()和Number.isFinite()
isNaN()和Number.isNaN()
但是,例如,当IsInteger()
时,没有Number.isInteger()
函数。
有什么区别?
为什么存在重复?
何时应该使用数字原型函数或全局函数?
答案 0 :(得分:1)
正如@squint和@deceze所指出的那样,全局版本保持原封不动以保持向后兼容性。它们之间存在明显的差异,因为全局变量在测试之前将值转换为isNaN('NaN'); //true
Number.isNaN('NaN')//false ,considers it as a string
Number.isFinite('100');//false ,considers it as a string
isFinite('100');//true
。
string result = String.Format("{0:0\\.}", 12.3);
它的目的不是破坏为旧实现编写的代码,并为新开发人员提供更好的代码。 (与向后兼容性相同)