Окно «о» состояние, что это значит - PullRequest
0 голосов
/ 19 марта 2019

Я видел такой код

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(), и мне нужно понять, что это такое.Может кто-нибудь объяснить мне этот код?спасибо

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Это должна быть некоторая переменная, которая установлена ​​в окне, и пользователь проверяет, не находится ли 'o' в объекте windows

console.log('o' in window)
window.o = 'MyData';
console.log('o' in window)
0 голосов
/ 19 марта 2019

!('o' in window) вроде как другой способ сказать typeof window.o === 'undefined'.По сути, блок кода будет выполняться, только если o не существует в объекте window.

...