jshint ожидал ошибку присваивания

        // BAR CHART
        if (sparklineType == 'bar') {

                barColor = $this.data('sparkline-bar-color') || $this.css('color') || '#0000f0',
                sparklineHeight = $this.data('sparkline-height') || '26px',
                sparklineBarWidth = $this.data('sparkline-barwidth') || 5,
                sparklineBarSpacing = $this.data('sparkline-barspacing') || 2,
                sparklineNegBarColor = $this.data('sparkline-negbar-color') || '#A90329',
                sparklineStackedColor = $this.data('sparkline-barstacked-color') || ["#A90329", "#0099c6", "#98AA56", "#da532c", "#4490B1", "#6E9461", "#990099", "#B4CAD3"];

            $this.sparkline('html', {
                barColor : barColor,
                type : sparklineType,
                height : sparklineHeight,
                barWidth : sparklineBarWidth,
                barSpacing : sparklineBarSpacing,
                stackedBarColor : sparklineStackedColor,
                negBarColor : sparklineNegBarColor,
                zeroAxis : 'false'
            });

        }

Для этого кода выше в JSHINT я получаю следующее сообщение об ошибке:

"Ожидали присваивание или вызов функции, а вместо этого увидели выражение"

Может кто-нибудь, пожалуйста, скажите мне, как я могу это исправить?

Спасибо!


person user3375777    schedule 20.04.2014    source источник
comment
jsfiddle.net/GaurangTandon/u3R8t Говорит, что ваш JS абсолютно действителен.   -  person Gaurang Tandon    schedule 20.04.2014
comment
Эта ошибка, вероятно, возникает из-за чего-то в этом выражении по отношению к какому-то другому коду, который идет непосредственно перед ним. Можете ли вы дать нам немного больше?   -  person rescuecreative    schedule 20.04.2014
comment
@rescuecreative абсолютно, смотрите выше :)   -  person user3375777    schedule 20.04.2014
comment
Моя первая мысль заключается в том, что это может быть связано с тем, что вы разделяете несколько назначений запятыми, но в начале нет ключевого слова var. Попробуйте изменить их на точки с запятой и посмотрите, получится ли это.   -  person rescuecreative    schedule 20.04.2014


Ответы (2)


Это неправильно (запятая)

barColor = $this.data('sparkline-bar-color') || $this.css('color') || '#0000f0',
sparklineHeight = $this.data('sparkline-height') || '26px',
sparklineBarWidth = $this.data('sparkline-barwidth') || 5,
sparklineBarSpacing = $this.data('sparkline-barspacing') || 2,
sparklineNegBarColor = $this.data('sparkline-negbar-color') || '#A90329',
sparklineStackedColor = $this.data('sparkline-barstacked-color') || ["#A90329", "#0099c6", "#98AA56", "#da532c", "#4490B1", "#6E9461", "#990099", "#B4CAD3"];

Попробуйте это (точка с запятой - ;)

barColor = $this.data('sparkline-bar-color') || $this.css('color') || '#0000f0';
sparklineHeight = $this.data('sparkline-height') || '26px';
sparklineBarWidth = $this.data('sparkline-barwidth') || 5;
sparklineBarSpacing = $this.data('sparkline-barspacing') || 2;
sparklineNegBarColor = $this.data('sparkline-negbar-color') || '#A90329';
sparklineStackedColor = $this.data('sparkline-barstacked-color') || ["#A90329", "#0099c6", "#98AA56", "#da532c", "#4490B1", "#6E9461", "#990099", "#B4CAD3"];
person Guilherme Nascimento    schedule 20.04.2014
comment
Видел бы ты это! Спасибо! :) - person user3375777; 20.04.2014

Логическое выражение опирается на «ложность» нулевого значения или неопределенного, чтобы решить, присваивать ли $this.data или литерал массива. Я предполагаю, что jshint хочет, чтобы вы явно указали на присвоение значения, чтобы вы могли явно проверить $this.data на null или undefined, а затем назначить соответственно.

person rom99    schedule 20.04.2014