为了账号安全,请及时绑定邮箱和手机立即绑定

什么叫属性法容易被攻破,用功能法?

请大神们解释下

正在回答

2 回答

0 回复 有任何疑惑可以回复我~

视频里说的很清楚了。

dom元素节点具有nodeType属性,属性法仅仅是判断一个对象的nodeType是否为1;

但是可以自己创建这样1个对象:

var obj={nodetype:1}

这个对象并不是dom对象,但是用属性法判断

function isElement(ele){ 
    return ele&&ele.nodeType===1;
}
isElement(obj);//这样也会返回true,但是obj并不是dom节点。

上面就是属性法判断的不足之处,如果用功能法:

function isElement(ele){

    try{
    
        var div=document.createElement('div');
        div.appendChild(ele);//把ele做为子节点添加到div里
        div.removeChild(ele);//把ele从div里移除
    }catch(e){
       return false;
    }
}
var obj={nodetype:1}
isElement(obj)//返回false

由于obj不是dom对象,所以它不能添加到div里或从div里移除(obj不具备这些功能)。这就是功能法

0 回复 有任何疑惑可以回复我~
#1

凉鹜 提问者

谢谢!
2017-12-10 回复 有任何疑惑可以回复我~
#2

qq_杀意隆_0 回复 凉鹜 提问者

具体再看看教程。回答满意的话请采纳一下
2017-12-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

什么叫属性法容易被攻破,用功能法?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信