我有一个 <iframe> 使用在父文档的对象文字中设置的一些变量。这些变量是可选的;如果它们已设置,我想使用它们的值,将它们分配给更简洁的全局变量;如果没有,我想调用函数error()。
首先,这个三元运算符语句对我想做的事情有效吗?这里有什么潜在的陷阱吗?
parent.settings.account ? var account = parent.settings.account : error();
其次,是否有更简洁的方式来编写该语句?
其中一些变量是可选的,但如果定义,则具有可接受的值范围。什么是处理这个问题的可靠方法?像这样的东西?
if (parent.settings.polling_interval && parent.settings.polling_interval >= 1000 && parent.settings.polling_interval <= 5000) {
var polling_interval = parent.settings.polling_interval;
} else {
var polling_interval = 3000; // default
}
基本上,如果它未定义或超出范围,我想使用默认值。
我可以只依赖一个条件语句,例如:
if (parent.settings.polling_interval) { ... }
还是我需要检查它是否未定义,像这样?
if (typeof parent.settings.polling_interval !== 'undefined') { ... }
有没有更健壮和/或更简洁的东西?感谢您的任何建议。