Задать вопрос
@Berti

Что делает данная конструкция в javascript?

Ковыряю плагин select2 наткнулся там на такую функцию?

c.prototype.option=function(b){
        var c=document.createElement("li");
        c.className="select2-results__option";
        var d={role:"treeitem","aria-selected":"false"};

        b.disabled&&
        (delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&
        delete d["aria-selected"],null!=b._resultId&&
        (c.id=b._resultId),b.title&&
        (c.title=b.title),b.children&&
        (d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);
                            
        for(var e in d){
            var f=d[e];
            c.setAttribute(e,f)
        }
        if(b.children){
            var g=a(c),h=document.createElement("strong");
            h.className="select2-results__group";
            a(h);
            this.template(b,h);
            for(var i=[],j=0;j<b.children.length;j++){
                var k=b.children[j],l=this.option(k);
                i.push(l)
            }
            var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});
            m.append(i),g.append(h),g.append(m)
        }
        else 
            this.template(b,c);
        return a.data(c,"data",b),c


интересует что делает конструкция:
b.disabled&&
        (delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&
        delete d["aria-selected"],null!=b._resultId&&
        (c.id=b._resultId),b.title&&
        (c.title=b.title),b.children&&
        (d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);

выполнит все присвоения и удаления если элементы этой конструкции верны?
  • Вопрос задан
  • 172 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы