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
Yewww трябваше да види това! Благодаря ти! :) - person user3375777; 20.04.2014

Булевият израз разчита на "фалшивостта" на null или undefined, за да реши дали да присвои $this.data или литерала на масива. Предполагам, че jshint иска да сте изрични относно присвояването на стойност, за да можете изрично да проверите $this.data за null или undefined, след което да присвоите съответно.

person rom99    schedule 20.04.2014