-2

遇到了这个小难题,对 JavaScript 内部了解不够,无法查看行为的原因。它并没有阻碍我的工作,但如果有人能对此有所了解,我将不胜感激。

function SetVarWrapsMMxCalled(){
    var EstTrigValTHALISTx1=289437562937;
    var BIGDiv = document.getElementById("nested");
    nested.textContent = EstTrigValTHALISTx1;
    return EstTrigValTHALISTx1;
}
function easierThen(){
    var howEasy=88;
    return howEasy;
}

var EverSoEasy = SetVarWrapsMMxCalled(); // Does not work
var EverSoEasy = easierThen();           // This DOES work  ???!

function seriously(EverSoEasy){
    var omgsosilly=EverSoEasy;
    var nestedDiv = document.getElementById("nested");
    nestedDiv.textContent = omgsosilly;
}

对于那些我没有把问题说清楚的人,我不会同时使用这两条线:

var EverSoEasy = SetVarWrapsMMxCalled(); // Does not work
var EverSoEasy = easierThen();           // This DOES work  ???! 

关键是,第二行产生的值显示在 div 中,正如预期的那样,但第一行没有。

对这件事进行了更多的探索,似乎,从 玩弄代码中可以看出,问题不是我想象的那样。

现在我有一个新问题。伟大的。但这是一个长周末。之后。

4

2 回答 2

2

这有一个javascript错误,因为nested未定义变量:

function SetVarWrapsMMxCalled(){
    var EstTrigValTHALISTx1=289437562937;
    var BIGDiv = document.getElementById("nested");
    nested.textContent = EstTrigValTHALISTx1;
    return EstTrigValTHALISTx1;
}

应该是这样的:

function SetVarWrapsMMxCalled(){
    var EstTrigValTHALISTx1=289437562937;
    var BIGDiv = document.getElementById("nested");
    BIGDiv.textContent = EstTrigValTHALISTx1;
    return EstTrigValTHALISTx1;
}

以后,查看浏览器的错误控制台或调试器控制台,它会告诉您哪一行出现了第一个 javascript 错误。这不应该是一个谜。当某些东西不起作用时,这是我首先看的地方。控制台中显示的代码中应该没有错误。


仅供参考,这也可以像这样简化:

function SetVarWrapsMMxCalled(){
    var EstTrigValTHALISTx1 = 289437562937;
    document.getElementById("nested").textContent = EstTrigValTHALISTx1;
    return EstTrigValTHALISTx1;
}
于 2013-06-28T21:28:46.397 回答
1

尝试以下方法:

function SetVarWrapsMMxCalled()
{
    var EstTrigValTHALISTx1=289437562937;
    var BIGDiv = document.getElementById("nested");
    BIGDIv.textContent = EstTrigValTHALISTx1;
    return EstTrigValTHALISTx1;
}
于 2013-06-28T21:27:36.597 回答