3
function create_RowsEditor(tableId, rowTmplId) {
  rowsEditor = Object.create(null, {
    'XtableId': tableId,
    'XrowTmplId': rowTmplId
  });
  return rowsEditor;
}

$(function() {
  var rowsEditor = create_RowsEditor('come', 'tmpl_row');
});

エラー: TypeError: 値が null 以外のオブジェクトではありません

エラーはどこにありますか?

4

1 に答える 1

13

任意のオブジェクトを 2 番目のパラメーターとして渡すことはできません。プロパティ記述子のオブジェクトである必要があります。例えば:

rowsEditor = Object.create(null, {
  'XtableId': {
      value: tableId
  },
  'XrowTmplId': {
      value: rowTmplId
  }
});

ドキュメントから:

指定されていて未定義でない場合、列挙可能な独自のプロパティ (つまり、それ自体に定義され、プロトタイプ チェーンに沿った列挙可能なプロパティではないプロパティ) を持つオブジェクトは、対応するプロパティ名を使用して、新しく作成されたオブジェクトに追加されるプロパティ記述子を指定します。これらのプロパティは、Object.definePropertiesの 2 番目の引数に対応します。

プロパティ記述子の構造に関する詳細情報は、Object.definePropertyドキュメントに記載されています。上記のコードに示すように、valueプロパティはプロパティの値を指定します。

于 2013-07-01T15:40:48.053 に答える