我只是想知道我爲什麼要使用這個方法返回一個函數:爲什麼使用此方法返回函數或值?
clusters.prototype.get_local_storage_data = function(data_key) {
return +(this.localStorage.getItem(data_key) || 1);
};
什麼是+()
在那裏做,爲什麼使用?有沒有更好的方法來返回函數或1如果函數得到的是null?
我只是想知道我爲什麼要使用這個方法返回一個函數:爲什麼使用此方法返回函數或值?
clusters.prototype.get_local_storage_data = function(data_key) {
return +(this.localStorage.getItem(data_key) || 1);
};
什麼是+()
在那裏做,爲什麼使用?有沒有更好的方法來返回函數或1如果函數得到的是null?
在值強制該值成爲數字之前使用+
。在上面的情況下,數據密鑰將被轉換爲數字(如果找到了),或者數字1將被返回。無論哪種方式,結果都會被轉換爲數字。
+null; // 0
+"3.14"; // 3.14
+1; // 1
它只是確保無論輸出是什麼,你會返回一個number
。
的+
是那裏的結果轉換爲數值 -
typeof +"123" // "number"
它的實現方式看起來蠻好的,並不需要改變。
+
只是確保返回值是一個數字,否則1
將是true
而不是第一。它的快捷方式:
Number(expression)
我現在看到,它有在我的情況下派上用場,因爲返回值實際上是一個數字,而且將永遠是一個數字,至少這是我希望它是。 – Roland
@Roland:'getItem'返回一個字符串:http://dev.w3.org/html5/webstorage/#storage-0 –
我知道,但我存儲的是一個數字,所以在我得到它之後,使用' JSON.parse()'這是我存儲的相同的東西。它可能是一個對象或數組,因爲我正在使用'JSON.stringfy()'。或者我錯了? – Roland