不能这么说吧 (如果符合第一次过滤,并确认了obj是Node类型,说明它是一个 元素节点)
自定义对象那个不是还没判断吗?
var c={
nodeType:1
}
30
收起
正在回答
2回答
同学你好, 对于你的问题解答如下:
是的,直接声明的var c ={nodeType:1}不是Node的实例对象,不能作为子节点添加到另一个子节点。
try...catch语句可以参考如下解析:
(1)首先,我们了解下try...catch语句的作用,因为如果代码出错,整个程序就会停止。将代码放到try里面,能正确执行就会正确执行,如果报错就会进入catch里面,代码还是会向后执行,不会影响整个程序。
(2)然后,我们再来分析里面的代码意思,如果传入的obj是一个普通的对象,即同学这里举例的var c = {nodeType: 1}, 由于它不是一个元素节点,无法作为子节点添加到testDiv中,会出现错误,进入到catch中,返回fasle。如果传入的是一个正常的html节点,那么是可以作为子节点添加到testDiv中,不会出现报错,也就不会执行catch语句,就会执行后面的return true语句,返回结果为true。
这个方法实际工作中用到的比较少,同学不用深究,如果真的遇到了需要判断是否是元素节点,可以直接使用老师封装好的方法。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星