为什么document.write(added);
不起作用?
function first(){
var now = new Date();
var first=Math.round(now.getMilliseconds()/20);
var second=Math.round(now.getMilliseconds()/30);
var added=first+second;
return added;
}
first();
document.write(added);
答案 0 :(得分:0)
因为added
不是全局变量,所以当你调用document.write时它超出了范围。
您需要将返回值保存在调用document.write的同一范围内的变量中,即在这种情况下为全局范围。 正确的代码是:
function first(){
var now = new Date();
var first=Math.round(now.getMilliseconds()/20);
var second=Math.round(now.getMilliseconds()/30);
var added=first+second;
return added;
}
var returnValue = first(); // store returned 'added' in returnValue
document.write(returnValue);
答案 1 :(得分:0)
Javascript具有函数作用域,这意味着函数中声明的任何变量都不能在该函数之外访问。 return added
返回已添加的值,而不是变量added
本身。如果要使用该值,则需要将其放在函数外部声明的变量中:
function first(){
var now = new Date();
var first=Math.round(now.getMilliseconds()/20);
var second=Math.round(now.getMilliseconds()/30);
var added=first+second;
return added;
}
var firstResult = first();
document.write(firstResult);
答案 2 :(得分:0)
由于scope issue
已被指出,我只是想添加另一种方式来打印结果
document.write(first());