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正是:)谢谢