Javascript中的扩展求解 Each、Contains

来源:百度知道 编辑:UC知道 时间:2024/06/06 15:45:56
var Each = function(list, fun){
for (var i = 0, len = list.length; i < len; i++) {
fun(list[i], i);
}
};

var Contains = function(a, b){
return a.contains ? a != b && a.contains(b) : !!(a.compareDocumentPosition(b) & 16);
}

麻烦给我最详细的讲解这两个函数,尤其是 !!这两个感叹号是什么意思,我百度都找不到。
!!取非再取非 是为了什么? 为了什么样的目标?

Each函数是对一个数组中的每个元素都调用一次传入的那个函数(而给这个函数传的参数就是每一个数组元素和对应的下标)

Contains函数 如何b是a的子节点返回TRUE 不是的话返回一个相对偏移量(位运算, 我看了头有点晕)
两个!!应该是位运算符(两次取反?) 这个不清楚了

!!取非再取非