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

Javascript 为什么使用此方法返回函数或值?,javascript,return,Javascript,Return,我只是想知道为什么要使用此方法返回函数: clusters.prototype.get_local_storage_data = function(data_key) { return +(this.localStorage.getItem(data_key) || 1); }; +()在那里做什么?为什么使用它?如果函数得到的值为null,是否有更好的方法返回函数或1?在值强制该值成为数字之前使用+。在上述情况下,数据键将转换为数字(如果找到),或者返回数字1。无论哪种方式,结果都将

我只是想知道为什么要使用此方法返回函数:

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

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

在值强制该值成为数字之前使用
+
。在上述情况下,数据键将转换为数字(如果找到),或者返回数字1。无论哪种方式,结果都将转换为数字

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

它只是确保无论输出是什么,在一个值强制该值成为一个数字之前,您都将使用
+
返回一个
数字。在上述情况下,数据键将转换为数字(如果找到),或者返回数字1。无论哪种方式,结果都将转换为数字

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

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

+
用于将结果转换为一个数字-

typeof +"123" // "number"

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

+
用于将结果转换为数字-

typeof +"123" // "number"

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

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

Number( expression )

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

Number( expression )

我现在明白了,它在我的例子中很有用,因为返回的值实际上是一个数字,而且永远都是一个数字,至少这是我所期望的。@Roland:
getItem
返回一个字符串:我知道,但我存储的是一个数字,所以在得到它之后,使用
JSON.parse()
它与我存储的是一样的。它也可以是一个对象或数组,因为我使用的是
JSON.stringfy()
。还是我错了?@Roland如果你对返回的字符串使用
JSON.parse()
,你也会得到一个数字。@JonathanSampson正是:)谢谢,我现在看到了,它在我的情况下很有用,因为返回的值实际上是一个数字,而且永远都是一个数字,至少这是我所期望的。@Roland:
getItem
返回一个字符串:我知道,但我存储的是一个数字,所以在得到它之后,使用
JSON.parse()
它与我存储的是同一个东西。它也可以是一个对象或数组,因为我使用的是
JSON.stringfy()
。还是我错了?@Roland如果您对返回的字符串使用
JSON.parse()
,您也会得到一个数字。@JonathanSampson正是:)谢谢