使用此代码我有这个问题:
$.fn.dxwShow = function (options) {
console.log(typeof(options));
dxwShowSetOptions(options);
setInterval(function(){
dxwShowChange();
}, dxwShowOptions.time);
};
var dxwShowOptions = {
"transition" : "SlideToggle",
"time": 1000
};
var dxwShowStatus = {
current : 0
};
function dxwShowSetOptions(options){
console.dir(typeof(options));
dxwShowOptions = Object.create(dxwShowOptions, options);
}
function dxwShowChange(){
console.log(dxwShowOptions);
};
$(function(){
options = {
"time": 700,
"debug" : true
};
$("#dxwShow").dxwShow(options);
});
Run Code Online (Sandbox Code Playgroud)
我想更新dxwShowOptions,所以我使用Object.create首先传递我想要复制的对象,因此包含新参数的对象.哪里出错了?
PS:Chrome说该对象位于Object.create行.
Dom*_*nic 12
Object.create获取属性描述符的映射.options不是这样的清单.
请参阅https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/create
如果您仍想使用Object.create,则需要修改选项以使其更像
var options = {
time: {
enumerable: true,
configurable: true,
writable: true,
value: 700
},
debug: {
enumerable: true,
configurable: true,
writable: true,
value: true
}
};
Run Code Online (Sandbox Code Playgroud)
但是你可能想要使用更像的东西_.extend.