js闭包的问题 闭包 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 return f;//你想要return 一个函数,就不要写() 先定义一个f函数 不管他是做什么的 之后执行f 此时重写f 这是f是一个返回t对象的函数 返回f的执行结果 即返回t 你这个代码有问题var f=function(){ var t=new Date(); var f=function(){//这里要用var把F声明成局部变量,不然就是重定义了全局的f函数 return t; } return f;//你想要return 一个函数,就不要写() }var e = f();alert(e()); 谢谢,我是在一本书上看到的这样一个例子,书上是这样解释的:函数f的首次调用将实例化一个新的Date对象并重置f到一个新的函数上,f在其闭包内包含Date对象。在首次调用结束之前,f的新函数值也已被调用并提供返回值。函数f的调用都只会简单的返回t保留在其闭包内的值,这样执行起来非常高效。没看懂 哦,原来是这样的要求啊,那你这个代码就没有问题了。f ()不管是首次调用还是再次调用就是要求返回t的值,没有要求返回一个函数。只不过在首次调用时f函数会重新定义自身这个代码也可以改成如下var f=function(){ var t=new Date(); f=function(){ return t; } return t; }f(); extjs 窗体请教 jquery load加载页面的问题? JS调用WebService问题 document.getElementById()在IE提示缺少对象 在firefox正常 如何用变量来给HTML标签属性赋值? table的表格里可以加button么 求Tab面板,马上接贴,顶者有分~! 我要实现一个这样的登录方法不知道该怎样实现?请高手帮忙! 高手赐教:打印html页时怎么自动判断是横向还是纵向? 关于一段iframe自适应高度的代码的奇怪问题~ JQuery Ajax返回html中的字符串处理 Jquery获取属性错误
var t=new Date();
var f=function(){//这里要用var把F声明成局部变量,不然就是重定义了全局的f函数
return t;
}
return f;//你想要return 一个函数,就不要写()
}
var e = f();
alert(e());
谢谢,
我是在一本书上看到的这样一个例子,书上是这样解释的:函数f的首次调用将实例化一个新的Date对象并重置f到一个新的函数上,f在其闭包内包含Date对象。在首次调用结束之前,f的新函数值也已被调用并提供返回值。函数f的调用都只会简单的返回t保留在其闭包内的值,这样执行起来非常高效。
没看懂
f ()不管是首次调用还是再次调用就是要求返回t的值,没有要求返回一个函数。只不过在首次调用时f函数会重新定义自身
这个代码也可以改成如下var f=function(){
var t=new Date();
f=function(){
return t;
}
return t;
}
f();