[英]Checking and setting default variable in Javascript
假设您有一个跟踪对象
TRACK = {};
TRACK.pageName = pageName || TRACK.buildPageName();
如果在它之前的某处存在,这将很好地工作:
var pageName = "Home";
让我们假设一种解决方法是:
TRACK.pageName = (typeof pageName != 'undefined' ? pageName : TRACK.buildPageName());
是否有针对大型javascript对象的更好方法?
如果您使用的是浏览器,则可以执行window.pageName
来检查pageName值。
TRACK.pageName = window.pageName !== undefined ? pageName : TRACK.buildPageName();
但这并不是真正的“更好”的实践。 这只是第二种方式。 使用typeof
也可以。
你的例子:
TRACK.pageName = pageName || TRACK.buildPageName();
是正确的,但是如果您想使用undefined
进行露营,可以使用以下方法:
if (pageName !== undefined){...}
我认为,您可以在TRACK.buildPageName()中实现此if语句。 如果pageName是全局变量,则可以从TRACK.buildPageName()内部访问它
{
...
buildPageName: function() {
this.pageName = (typeof pageName != 'undefined' ? pageName : TRACK.innerBuildPageName());
}
}
因此,您只能隐藏和实现一次if语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.