function create_RowsEditor(tableId, rowTmplId) {
rowsEditor = Object.create(null, {
'XtableId': tableId,
'XrowTmplId': rowTmplId
});
return rowsEditor;
}
$(function() {
var rowsEditor = create_RowsEditor('come', 'tmpl_row');
});
错误:TypeError:value不是非null对象
错误在哪里?
答案 0 :(得分:13)
您不能将任意对象作为第二个参数传递,它必须是属性描述符的对象。例如:
rowsEditor = Object.create(null, {
'XtableId': {
value: tableId
},
'XrowTmplId': {
value: rowTmplId
}
});
如果指定且未定义,则具有可枚举自身属性的对象(即,在其自身上定义的那些属性,而不是沿其原型链的可枚举属性)指定要添加到新创建的对象的属性描述符,以及相应的属性名。这些属性对应于Object.defineProperties的第二个参数。
有关属性描述符结构的详细信息,请参阅Object.defineProperty
documentation。如上面的代码所示,value
属性指定属性的值。