我只是想知道为什么我应该使用这个方法来返回一个函数:
clusters.prototype.get_local_storage_data = function(data_key) {
return +(this.localStorage.getItem(data_key) || 1);
};
+()
做什么以及为什么要使用它?有没有更好的方法返回函数,如果函数得到的是null,有没有?
答案 0 :(得分:4)
在值之前使用+
会强制该值成为数字。在上面的例子中,数据键将被转换为数字(如果找到),或者将返回数字1。无论哪种方式,结果都将转换为数字。
+null; // 0
+"3.14"; // 3.14
+1; // 1
只是确保无论输出是什么,您都将返回number
。
答案 1 :(得分:0)
+
可以将结果转换为数字 -
typeof +"123" // "number"
它的实现方式看起来很好,不需要更改。
答案 2 :(得分:0)
+
只是确保返回值是一个数字,否则1
将是true
而不是第一个。这是一个捷径:
Number( expression )