1

実際のエラー コード

JSC_INEXISTENT_PROPERTY

概要

以下にリストされ、コメントされているコードでこのエラーが発生します。

こんな風に電話をかけます。 o_p.pageユーザー入力を保持し、プロパティの 1 つが実際にtag

Mo.AppBAdder.image_element = vDomBMAdd(o_p.page);

o_p.page は、次のようにユーザー入力を保持するオブジェクトを呼び出すことによって設定されます。

o_p.page = text_object.getArray();

Google Closure がプロパティが存在しないと感じないようにする方法はありますか?

オプションの設定はOK また、必要に応じてコードを少し変更してもかまいません。

テキストのコンストラクターは、次のようにユーザー入力を読み取ります。

Su.text = function (form_elements) {
    this.text_object = {};
    var key;
    for (key in form_elements) { //*u
        if (form_elements.hasOwnProperty(key)) {
            this.text_object[form_elements[key].name] = form_elements[key].value;
        }
    }
    return this;
};

コードのスニペット

function vDomBMAdd(bookmark_object) {
    var link_element = document.createElement('a'),
        image_element = document.createElement('img'),
        page_element = $a('#' + bookmark_object.tag + '_page'), // error here - inexistent property

参照

無は無と同じ意味

4

1 に答える 1

3

2つのオプションがあります。「tag」プロパティを宣言するexternファイルを作成するか、プロパティの定義方法をより適切に指定して、引用符で囲まれたプロパティアクセスを使用します。

bookmark_object['tag']

これらのアプローチはどちらも「外部」プロパティにアクセスでき、どちらもADVANCED最適化と互換性がありますが、externファイルを使用すると、プロパティが保持する値の予想される型を宣言できるため、型チェックが向上します。

于 2012-09-04T04:47:45.430 に答える