Javascript 重新加载div不';t如果时间为';从另一个函数调用
我有一个时间函数Javascript 重新加载div不';t如果时间为';从另一个函数调用,javascript,html,nwjs,Javascript,Html,Nwjs,我有一个时间函数 function hm() { var d = new Date(); var h = ('0'+d.getHours()).substr(-2); var m = ('0'+d.getMinutes()).substr(-2); var str0 = h + ':' + m; return {date: str0, hour: h, minute: m}; } var hm = hm(); var date = hm.date
function hm()
{
var d = new Date();
var h = ('0'+d.getHours()).substr(-2);
var m = ('0'+d.getMinutes()).substr(-2);
var str0 = h + ':' + m;
return {date: str0, hour: h, minute: m};
}
var hm = hm();
var date = hm.date;
var hour = hm.hour;
var minute = hm.minute;
我有一个div
<div id="mytime">Time</div>
它不会像12:03
12:04
那样更新时间,但是如果我放置函数hm()
和变量var hm=hm();var日期=hm日期代码>进入函数refreshDiv()
阻止它工作
我怎样才能让它工作
编辑:
这是一个nwjs项目
如果我添加hm=hm()代码>内部刷新div()
我得到:
"Uncaught TypeError: object is not a function", source: file:///home/.../index.html (182)
182为包含的行号hm=hm()代码>您不需要存储单个值:
var hm = hm();
var date = hm.date;
var hour = hm.hour;
var minute = hm.minute;
您有一个函数hm()
:调用它,并立即获取返回对象的值:
document.getElementById('mytimer').innerHTML = 'Time: ' + hm().date;
为什么??让我们使用Chrome开发工具来澄清这一点
因此,您定义了一个函数hm()
。
当您调用它时,您将得到返回的对象:{a:0000000000000,b:“test”}
您可以使用
var object = hm(); // Assign the returned value of hm() to object
alert(object.a); // Alerts value of the field a of object
如果不想分配新变量,请使用hm().a
。您将节省内存和时间。只需添加hm=hm()
insiderefreshDiv()
,因为现在只调用一次。不要使用与函数同名的变量。执行此操作时,您正在删除函数定义。尝试var thisHm=hm()代码>\@Barmar嘿你救了我一天<代码>var thisHm=hm()代码>工作!我得到了未定义的输出。我发现了错误。正如Barmar指出的,使用不同于函数名的变量修复了它。@kenn为什么要使用变量?你可以得到hm()。数据很好@你是对的,我刚刚试过,效果很好。我只是个初学者。谢谢你的提示。@kenn没问题!要通知某人,请提及他们的姓名,如@WearyAdventurer
。如果我的解决方案解决了你的问题,你可能会想投票并将这个答案标记为已接受。
var object = hm(); // Assign the returned value of hm() to object
alert(object.a); // Alerts value of the field a of object