Javascript 无法获取本地存储值

Javascript 无法获取本地存储值,javascript,web,local-storage,Javascript,Web,Local Storage,我的职能是 var map = function(doc) { if(doc.type=='task'){ if ( doc.admin == localStorage.Mobile_No ) emit(doc.task_creation_time, doc); } } log(map)应该像 function(doc) { if(doc.type=='task'){ if ( doc.admin == "1234567890" ) emit(doc.

我的职能是

var map = function(doc) {
if(doc.type=='task'){
   if ( doc.admin == localStorage.Mobile_No )
      emit(doc.task_creation_time, doc);
   }
}
log(map)应该像

function(doc) {
if(doc.type=='task'){
   if ( doc.admin == "1234567890" )
      emit(doc.task_creation_time, doc);
   }
}

如果你这样做的话:

var map = new Function("doc", 
    "if(doc.type=='task'){" + "\n"
    "   if ( doc.admin == \"" + localStorage.Mobile_No + "\")" + "\n"
    "      emit(doc.task_creation_time, doc);" + "\n"
    "   }" + "\n"
    "}");
你可以实现你似乎在寻找的目标。但看在上帝的份上,为什么



JS引擎不会仅仅因为在localStorage中找到值就神奇地重写源代码。如果更改该值,会发生什么情况?该功能是否会突然自我更新?

欢迎使用。此函数的作用是什么,以及
doc
的典型值是什么?仅从这一点,很难理解到底是什么问题。代码的哪一部分不起作用?您确定
doc
的值是您认为的值吗?你确定
localStorage.Mobile\u No
的价值是你认为的吗?你怎么说你无法获得localStorage的价值。尝试检查chrome或safari的webinspector工具中的值。你可能会有一个想法。为什么不通过闭包而不是有效的评估来实现呢?哦,我会的。但是,
console.log(map)
不会返回OP想要的方式。我看不出有什么理由这么做,我认为OP是在制造一些可能不是木头做的东西,但这似乎符合要求。
var-map=(function(num){return function(doc){if(doc.type=='task'&&doc.admin==num)emit(doc.task\u creation\u time,doc)}(localStorage.Mobile\u no))
,但是是的,
console.log
看起来会有所不同。是的,编写一个具有正确功能的控制台很简单,但是它将如何出现在控制台中,这就是问题所问的?