Переопределить оператор if с переменными - PullRequest
0 голосов
/ 11 марта 2019

Приведенный ниже код является существующей функцией в теме:

function WShare( selector ) {
    var $this = $( selector ), $parent = $this.parent();
    var opt = {
        url: window.location,
        text: document.title,
    };
    if ( window.selectedText ) {
        opt.text = window.selectedText;
    }
    if ( $parent.attr( 'data-sharing-url' ) !== undefined ) {
        opt.url = $parent.attr( 'data-sharing-url' );
    }
}

Я хотел бы изменить / заменить opt.text на opt.url и opt.url на opt.text в операторах if.

Причина этого в том, что в продолжающемся JS эти два элемента необходимо поменять местами. Каков наилучший способ переопределить это?

1 Ответ

0 голосов
/ 11 марта 2019

Просто сохранить значения переменных и затем переназначить значения свойств объекта? Пожалуй, самый интуитивно понятный способ сделать это

    var opt = {
        url: 'test1',
        text: 'test2',
    };

    var x = 1;
    
    if (x === 1) {
      var url_var = opt.url;
      var text_var = opt.text;
      opt.url = text_var;
      opt.text = url_var;
    }

    console.log(opt);
...