我们正在尝试使用jquery.extend()来覆盖对象,如下所示
Dialog : function(options) {
var opts = $.extend( {
showHelp: true,
open : function() {
alert(opts.showHelp);
alert(options.showHelp);
if (!opts.showHelp) {
/*statement to hide*/
}
}
},options);}
当我们将上述函数称为
时var $ale = storH.Dialog( {
showHelp : false
});
然后提醒
/* for $ale */
opts.showHelp=false
options.showHelp=false`
但是当我们从name
调用
var $ale1 = storH.Dialog();
然后警报显示为
// for $ale1 after calling $ale
opts.showHelp=false
options.showHelp=false
但如果我先拨打$ale1
并再拨$ale
秒,则提示会显示为:
// for $ale1 and $ale
opts.showHelp=true
options.showHelp=undefined
我们想要的是每当showHelp为false,如果语句执行
但是一旦showHelp设置为false,它就不会变为真,反之亦然