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