parseInt("010"); // 8
parseInt("0x10"); // 16
parseInt("11", 2); // 3
+ "010"; // 10
+ "0x10"; // 16
与 parseInt() 和 parseFloat() 不同,只要字符串中含有无法被解析成数字的字符,该字符串都将被转换成 NaN。
+ '10.2abc'; //NaN
parseInt('10.2abc'); //10
parseFloat('10.2abc'); //10.2
var args = Array.prototype.slice.call(arguments);
var args = [].slice.call(arguments);
// 对参数使用slice会阻止某些JavaScript引擎中的优化(比如V8)。如果你关心性能,尝试通过遍历arguments对象来构造一个新的数组。
var args = (arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments));
// ES2015
const args = Array.from(arguments);
function Test(a,b,c,d){
console.log(arguments.length);
};
Test(3); // 1
Test.length; // 4