您好我有这个功能,例如:
var dt = new Date();
var now = dt.valueOf();
function date1() {
var d1 = Math.ceil(
(Math.abs(now - dt.setUTCFullYear(2005))) / (1000*3600*24*365)
);
}
我想从d1 var获取另一个函数的值,例如:
function res() {
document.write(d1).value;
}
答案 0 :(得分:1)
让你的函数返回值:
var dt = new Date();
var now = dt.valueOf();
function date1() {
return Math.ceil( // <=== Change, using return rather than setting a variable
(Math.abs(now - dt.setUTCFullYear(2005))) / (1000*3600*24*365)
);
}
然后在需要值时调用该函数:
function res() {
document.write(date1()).value;
// Change -----^^^^^^^
}
附注:据我所知,document.write
没有任何返回值,因此.value
行末尾的document.write
不会产生任何返回值感觉,并且可能会导致TypeError
抱怨您正在尝试访问undefined
上的媒体资源。
附注2:在 general 中,document.write
不是将信息放在网页上的好方法,而是使用DOM。像大多数规则一样,也有例外。
答案 1 :(得分:0)
如果要从函数B访问函数A的局部变量,则必须将函数B的定义放在函数A的主体内部。
function A() {
var variable;
function B() {
// can access variable here
}
}