我正在处理一个动态更改的表单,我正在努力更好地理解它。
尽管如此,我发现并输入了这个并且我想知道这个陈述意味着什么样的例子将被赞赏。谢谢onclick="if(this.onchange){this.onchange();}"
答案 0 :(得分:2)
这是检查this
是否有定义为onchange
的函数。在javascript中,您不需要if (this.onchange != null)
。如果值为null,未定义或具有空字符串,则返回的if语句中的值为false。这通常是一个很好的做法,以避免javascript中的空引用错误,当你不肯定每个浏览器将支持你试图使用的任何东西时。 (或者我现在缺少的其他原因)
例如,在Google Chrome中添加一行输出到控制台...
console.log("output here");
如果我没记错的话,这可能会导致其他浏览器出错。处理这个问题的一个好方法是使用:
if (console) { console.log("output here"); }
答案 1 :(得分:0)
简单来说,
“如果此元素具有与其onchange
事件侦听器关联的函数,请执行它。”。
答案 2 :(得分:-1)
这是一种检查是否声明
的方法if (typeof this.onchange != "undefined"){
this.onchange();
}