首先我尝试了这个:
var coolFunc = function(options) {
var minNum = options.minNum || true,
// rest of the function
}
但这永远不会导致 minNum 变量的值为 false。
所以现在我正在这样做:
var coolFunc = function(options) {
var minNum = options.minNum;
if (minNum === undefined) minNum = true;
// rest of the function
}
有更标准的方法吗?
最佳答案
这才是正确的做法。
一个常见的变体是
var coolFunc = function(options) {
var minNum = "minNum" in options ? options.minNum : true;
// rest of the function
}
我个人有时会使用实用函数:
function opt(options, key, defaultValue) {
if (options && key in options) return options[key];
return defaultValue;
};
所以我的功能是这样的:
var coolFunc = function(options) {
var minNum = opt(options, "minNum", true);
// rest of the function
}
一个小优点是它还会检查options
是否未定义
。
但这并不是一个很大的收获,特别是当你不期望错误的值时,所以大多数情况下我不在乎。
关于javascript - 有没有更好的方法来处理默认 true ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19275930/