为什么使用此方法返回函数或值?

时间:2012-05-13 06:59:34

标签: javascript return

我只是想知道为什么我应该使用这个方法来返回一个函数:

clusters.prototype.get_local_storage_data = function(data_key) {
    return +(this.localStorage.getItem(data_key) || 1);
};

+()做什么以及为什么要使用它?有没有更好的方法返回函数,如果函数得到的是null,有没有?

3 个答案:

答案 0 :(得分:4)

在值之前使用+会强制该值成为数字。在上面的例子中,数据键将被转换为数字(如果找到),或者将返回数字1。无论哪种方式,结果都将转换为数字。

+null;   // 0
+"3.14"; // 3.14
+1;      // 1

只是确保无论输出是什么,您都将返回number

答案 1 :(得分:0)

+可以将结果转换为数字 -

typeof +"123" // "number"

它的实现方式看起来很好,不需要更改。

答案 2 :(得分:0)

+只是确保返回值是一个数字,否则1将是true而不是第一个。这是一个捷径:

Number( expression )