最初在Html網頁中加上JS代碼之后,我們希望通過我們寫的function方法,來返回想要的參數,然而卻經常會返回一些奇奇怪怪的東西,或者沒有返回。
null或者不執行。
比如我在html中引入的js文件中,寫了一個名為addLoadEvent的方法,它的作用是,當頁面加載完的時候,自動執行另外特定的方法。
然后發現,html并沒有執行oldonload()和func()兩個方法,頁面不出現任何效果。
汗。
我當時通過alert,console,才知道,html頁面中根本加載上js代碼好嘛?
zz一樣的我在風中凌亂。
于是:
就OK了。
再比如,html中有一個id是“cc”的對象,在PRepareGallery()中要把它找到然后操作,竟然給我alert一個null。
出現這個的原因,一個是不存在這個id,這個在例子中是不可能的,二是在執行這個js時網頁并未加載完。把下面的代碼移到</body>外面
我當時分析,出現這個問題的原因,一是不存在這個id,二是根本沒找到。
“沒找到”就是,js代碼在執行的時候,html頁面根本還沒有加載完成。
所以我把方法的引用位置移動了。
尼瑪,移到整個頁面加載完之后總行了吧?
結果就出現我想要的樣子了。
(好吧迷妹本質暴露)
現在再整理這篇文章,我知道犯這樣的錯,就是沒有系統學習JS的后遺癥。
這其實就是js的加載。
第一,js文件不是引入進來就可以自行執行了。
第二,js代碼的加載始于<script>,終于</script>,這對標簽里面的東西被放在整個網頁代碼的什么地方,它就從什么地方開始執行。
我一上來就把這段東西放在<body>下面,頁面還沒來得及加載呢,當然找不到cc。
另外,onload事件會在頁面或圖像加載完成后立即執行。
新聞熱點
疑難解答