我创建了一个弹出函数,最近更改了格式:
createPopUp('My Popup',600,200);
到this method :
createPopUp({ title: 'My Popup', width: 600, height: 200 });
我只想使用存在的值,所以我目前正在这样做:
function createPopUp(config){
if (typeof config.title != 'undefined'){
var theTitle = title;
} else {
var theTitle = 'Untitled';
}
}
然而,这看起来非常困惑,所以我一直在寻找一种更有效的方法来检查传入参数或设置默认值,如果能向正确的方向推进,我们将不胜感激。
最佳答案
您可以像这样扩展一组默认属性:
var defaults = {
title: 'Untitled',
width: 100,
height: 100
}
function createPopUp(config)
{
var opts = {}
for (var k in defaults) {
opts[k] = config[k] || defaults[k];
// sometimes falsy values should be allowed to override defaults
// in that case, use this instead:
// opts[k] = typeof config[k] != 'undefined' ? config[k] : defaults[k]
}
// opts contains values from defaults where config doesn't have them
}
jQuery 有一个方便的 $.extend()
用于此目的,但您没有这样标记您的帖子。
关于Javascript - 在使用参数之前检查参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14070623/