2015-06-04 3 views
0

Для того, чтобы мой код понятнее я следующий в яваскрипта файле:Стенография, если заявление для инициализации свойств в Javascript

var _weight; 

function getWeight(){ 
    _weight || InitializeWeight(); 

    // do some stuff 

    return _weight; 
} 

function InitializeWeight(){ 
    _weight = 3; 
} 

JSHint выдает ошибку на сокращённых заявления, подобные этим «_weight || InitializeWeight()»:

Ожидается назначение или вызов функции и вместо этого увиденное выражение.

Поэтому я проверяю, не определено ли это, позвоните по этому методу.

Это действительно неправильно? Он работает отлично.

Как написать это заявление, если JSHint не набросится на меня?

+4

вы имели в виду поставить '_weight = _weight || InitializeWeight() '? – Dendromaniac

+1

Почему вы пишете стенографию в своем коде. Проведите пару дополнительных символов и используйте оператор 'if'. Пусть министры обрабатывают стенографию. –

+0

@ Dendromaniac: Он замыкает функцию инициализации. Выполнение этого назначения нарушило бы функциональность, если он не изменил функцию. –

ответ

0

Вы можете использовать expr вариант:

/*jshint expr: true */ 

var _weight; 

function getWeight(){ 
    _weight || InitializeWeight(); 

    // do some stuff 

    return _weight; 
} 

function InitializeWeight(){ 
    _weight = 3; 
} 
Смежные вопросы