如何在javascript代码中定义变量w?

时间:2014-11-04 14:52:51

标签: javascript html5

我有这段代码:

var w;
if (window.eventListener) w.addEventListener('load', startSlideShow, false);
    else w.addEventListener('onload', startSlideShow);

首先没有var w; 因此,当我浏览页面并检查了elemnt时,我看到一条消息说:

未捕获的ReferenceError:w未在第181行定义

现在我添加了行var w; 我再次检查了elemnt,现在我看到了红色:

未捕获的TypeError:无法读取未定义的属性“addEventListener”

所以我想做var w;不是正确的方法。 那么我如何定义变量w?

3 个答案:

答案 0 :(得分:6)

var w = some_value_which_needs_to_be_an_object_with_an_addEventListener_method;

由于您使用的加载事件可能是图像,iframe或主窗口对象。

答案 1 :(得分:1)

而不是w,请使用window

if (window.eventListener)
    window.addEventListener('load', startSlideShow, false);
else
    window.addEventListener('onload', startSlideShow);

答案 2 :(得分:0)

解释错误的性质。

var w;仅声明变量w或设置变量,但它也是null(或undefined,无论javascript更喜欢......)。

使用.addEventListener将变量视为对象的引用,因为您正在尝试调用该对象的方法。

但是因为变量没有"没有"如果已分配(提供值),则尝试在不存在的对象上调用方法,通常会将Java等语言作为NullPointerException

即,使用/访问不存在的属性/方法。就像期待从空盒子里得到一些东西一样。