2016-08-24 31 views
1

運行我有建立在角/ PhoneGap的我得到以下錯誤角JS Android應用意外標記爲默認參數

Uncaught SyntaxError: Unexpected token =

該錯誤是由用於parameter.But提供的默認值引起應用程序時爲什麼會這樣?它在一些設備上工作得很好,並在其他設備上拋出這個錯誤。 下面是代碼:

.factory('foo' , function(){ 
    return { 
    test : function(id = 0){ 
    console.log(id); 
    } 
    } 
}) 

這裏是解決方案:

.factory('foo' , function(){ 
    return { 
    test : function(id){ 
    id = (id !== undefined) ? id : 0; 
    console.log(id); 
    } 
    } 
}) 
+0

您的解決方案具有評估爲falsey的值問題,請閱讀此答案以獲取更多詳細信息http://stackoverflow.com/a/6486334/4963159 –

回答

1

Default parameters是一個相當新的ECMAScript的功能,只是在2015年的ECMAScript

,它的作品之所以加入在某些設備上而不是其他設備上,可能會有不同的瀏覽器或同一瀏覽器的不同版本。

只有最新的瀏覽器才能夠使用ECMAScript 2015功能來解釋和編譯您的代碼。

爲了解決這個問題,如果您想使用最新的規格而不用擔心在哪些瀏覽器上檢查哪些功能可用,請考慮在構建管道中使用諸如Babel的轉譯程序。