javascript - window.onload代码不使用匿名函数包裹报错
迷茫
迷茫 2017-04-10 15:16:14
0
3
260

我想实现的是类名点击切换效果,具体的功能实现没有问题,只是在一开始的 window.onload 有一些疑惑。HTML代码为:

HTML代码: 

配送类型:
全部
京东配送
第三方配送

具体代码见 demo
该 demo 是能够正常实现的,在本地实现的时候,js文件是在标签内最后引入的。现在的问题是,如果改变 window.onload 的写法就会报错,不报错代码如下:

JS代码: window.onload = function(){ del(); };

报错代码如下:(报错为:Uncaught TypeError: Cannot read property 'length' of undefined, 即 dd 为 undefined )

JS代码: window.onload = del();//即去掉外面包裹的匿名函数

以上情况,都是当将该语句放在脚本文件的开头处。
经测试,如果将上面会报错的代码语句,放置在脚本文件最后的位置,不会报错。
所以想问一下,其中的问题在哪里?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆 (3)
刘奇

从报的错误来看,是你的函数在获取dom元素之前被调用了,所以获取不到你的dd,所以dd是undefined,所以undefined没有length。

那么,如果你将js代码放在之前,那么久不需要window.onload了。

    Ty80

    把del()的()去掉

    window.onload = del;
      PHPzhong
      window.onload = funcRef; 这里 funcRef 函数引用。应该 window.onload = del

      参考:
      window.onload

        最新下載
        更多>
        網站特效
        網站源碼
        網站素材
        前端模板
        關於我們 免責聲明 Sitemap
        PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!