web-dev-qa-db-ja.com

「不明なSyntaxError:予期しない識別子」

私はこの質問が何度も尋ねたことを知っていますが、解決策を見つけようとしましたが、利用可能なSOの質問から得られませんでした。

私はJavascriptの初心者です。 Cordovaを使用してAndroidでサンプル計算アプリケーションを作成しようとしています。そのため、cordovaプラグインを作成しました。しかし、2つの問題が継続的に発生しています。

"Uncaught SyntaxError: Unexpected identifier", source: file:///Android_asset/www/js/index.js (36)

ここにindex.JavaコードとperformCalculation()の最初の行を対象としたエラーがあります。

    var app = {

// Application Constructor
initialize: function() {
    this.bindEvents();
},
bindEvents: function() {
    document.addEventListener('deviceready', this.onDeviceReady, false);
    document.getElementById("btnCalculate").addEventListener("click", performCalculation);
},
onDeviceReady: function() {
    app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
    var parentElement = document.getElementById(id);
    var listeningElement = parentElement.querySelector('.listening');
    var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');

    console.log('Received Event: ' + id);
}

performCalculation: function (){
    console.log("in index.html");
    var success = function() {
        alert("Success");
    };
    var error = function(message) {
    alert("Oopsie! " + message);
    };
    performAddition(20,10,success,error);
}

};  
app.initialize();

これは、私の2番目の例外です。

"Uncaught SyntaxError: Unexpected token .", source: file:///Android_asset/www/js/calculation.js (3)

そして、これはcalculation.jsのコードです

var calculationPlugin = {
console.log("calculation");
    performAddition: function(first_number, second_number, successCallback, errorCallback) {
    console.log("addition");
        cordova.exec(
            successCallback, // success callback function
            errorCallback, // error callback function
            'CalculationPlugin', // mapped to our native Java class called "CalculationPlugin"
            'addition', // with this action name
            [{                  // and this array of custom arguments to create our entry
                "firstNumber": first_number,
                "secondNumber": second_number,

            }]
        );
     }
}
6

最初の構文エラー

ReceivedEvent関数の後に「、」がありません。

2番目の構文エラー

計算プラグインはオブジェクトであり、コンソールが含まれているため、エラーがスローされます。そのオブジェクトからコンソールを削除します。

9
vbharath

これを変更する必要があります:app.receivedEvent( 'deviceready'); to this.receivedEvent( 'deviceready');

そして、構文エラーのみがあります。そこにコード行番号を入力すると役立ちます。

1
FYH