Was ist der Unterschied zwischen Funktionsdeklaration und anonymer Funktion? (Front-End-Neuling bittet um Hilfe ...)
高洛峰
高洛峰 2017-07-05 10:59:56
0
3
895

Wenn Sie eine Funktion definieren, die das Stilattribut eines Elements mithilfe einer Funktionsdeklaration ändert, wird ein Fehler gemeldet

Aber unter window.onload wird kein Fehler gemeldet

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen (3)
大家讲道理

宝宝 这个和你用什么函数没关系!是因为onload会把文档加载完才触发 而你肯定是因为文档没加载完 没找到元素 所以才报错 把js放到元素下面

    洪涛

    这和函数声明和匿名没有关系,而是和函数的调用时机有关系。
    改成这样,还能找到和匿名函数的问题么?

    function change () { /* ... */ } window.onload = change

    前者在调用时,box元素还没有,所以报了错;后者在DOM ready后调用,所以可以执行。你可以在change函数中log一下box对象看看。

      扔个三星炸死你

      问题不是这个,你需要知道文档是从上到下加载的,你把js文件放在了head
      执行到js文件的时候,这个时候连body都还没加载,自然无法获取到box,也就无法设置css了。
      你可以把js文件放到body的尾部:

      . . .  

      这样就不需要window.onload
      如果放在了head里面
      就需要在js文件头部写window.onload=function(){......}

        Neueste Downloads
        Mehr>
        Web-Effekte
        Quellcode der Website
        Website-Materialien
        Frontend-Vorlage
        Über uns Haftungsausschluss Sitemap
        Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!