1
當我試圖將自定義的for
in
循環切換到underscore
或lodash
循環時,我發現有些奇怪。Lodash&Underscore「each」over localStorage給出了意想不到的結果
window.localStorage.setItem("hello", "world")
console.log('-----underscore-----')
_.each(window.localStorage, function (value, key) {
console.log(value);
console.log(key);
});
console.log('-----custom-----')
function each (object, callback) {
for (var key in object) {
var value = object[key];
callback(value, key);
}
}
each(window.localStorage, function (value, key) {
console.log(value);
console.log(key);
});
這裏是什麼身份登錄到控制檯。
-----lodash-----
undefined
0
-----custom-----
world
hello
並不是說_.each
不循環對象,因爲它在這裏做得很好。
var data = {"hello": "world"}
_.each(data, function (value, key) {
console.log(value);
console.log(key);
});
是否有任何理由爲什麼我不能在localStorage
使用_.each
從任一庫循環?