1

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

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

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

4

3 回答 3

4

使用+before 一个值会强制该值变成一个数字。在上述情况下,数据键将被转换为数字(如果找到),否则将返回数字 1。无论哪种方式,结果都将转换为数字。

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

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

于 2012-05-13T07:03:13.450 回答
0

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

typeof +"123" // "number"

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

于 2012-05-13T07:03:18.570 回答
0

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

Number( expression )
于 2012-05-13T07:03:28.690 回答