比方说,我正在编写一个旨在接受多种参数类型的函数:
var overloaded = function (arg) { if (is_dom_element(arg)) { // Code for DOM Element argument... } };
什么是最好的实施方式,is_dom_element
以便以跨浏览器,相当准确的方式工作?
jQuery检查nodeType属性.所以你会:
var overloaded = function (arg) { if (arg.nodeType) { // Code for DOM Element argument... } };
虽然这会检测所有DOM对象,而不仅仅是元素.如果你只想要元素,那就是:
var overloaded = function (arg) { if (arg.nodeType && arg.nodeType == 1) { // Code for DOM Element argument... } };