相关疑难解决方法(0)

parseInt vs unary plus - 何时使用哪个

这一行有什么区别:

var a = parseInt("1", 10); // a === 1
Run Code Online (Sandbox Code Playgroud)

这条线

var a = +"1"; // a === 1
Run Code Online (Sandbox Code Playgroud)

这个jsperf测试显示,当前的chrome版本中的一元运算符要快得多,假设它是针对node.js的!

如果我尝试转换不是数字的字符串都返回NaN:

var b = parseInt("test" 10); // b === NaN
var b = +"test"; // b === NaN
Run Code Online (Sandbox Code Playgroud)

那么我什么时候应该优先使用parseInt一元加(尤其是在node.js中)???

编辑:双波浪运算符的区别是什么~~

javascript node.js

135
推荐指数
3
解决办法
3万
查看次数

如何将原型上定义的方法传递给Array.map作为回调

我有一个阵列

var arr = [' A ', ' b ', 'c'];
Run Code Online (Sandbox Code Playgroud)

而且我想 trim从数组中的每个元素的空格.

它可以通过使用Array.mapas 来完成

arr.map(function(el) {
    return el.trim();
});
Run Code Online (Sandbox Code Playgroud)

我很好奇将trim/ toLowerCase函数直接传递给mapas回调函数,如arr.map(Math.max.apply.bind(Math.max,null)); 从每个子数组arr.map(Number)获取最大元素; 将每个元素转换为Number.

我试过了

arr.map(String.prototype.trim.apply);
Run Code Online (Sandbox Code Playgroud)

但这是投掷错误

未捕获的TypeError:在undefined上调用了Function.prototype.apply,这是一个未定义的而不是函数

我希望String.prototype.trim.apply应该为数组中的每个元素调用,并将上下文设置为array中的元素(传递给apply);

我也尝试不同的组合apply,callbind没有成功.

  1. 为什么使用时无法引用原型上的函数map
  2. 函数如何作为参数传递给map

javascript arrays prototype

7
推荐指数
1
解决办法
945
查看次数

标签 统计

javascript ×2

arrays ×1

node.js ×1

prototype ×1