在Javascript中检查和设置默认变量

时间:2012-12-10 11:51:11

标签: javascript oop object

假设您有一个用于跟踪的对象TRACK

TRACK = {};
TRACK.pageName = pageName || TRACK.buildPageName();

如果在它之前有某个地方,这样可以正常工作:

var pageName = "Home";

让我们假设一种方法来解决这个问题:

TRACK.pageName = (typeof pageName != 'undefined' ? pageName : TRACK.buildPageName());

使用大型JavaScript对象执行此操作是否有更好的做法?

3 个答案:

答案 0 :(得分:0)

如果您在浏览器中,则可以window.pageName检查pageName值。

TRACK.pageName = window.pageName !== undefined ? pageName : TRACK.buildPageName();

但这并不是一个“更好”的实践。这只是第二种方式。使用typeof也很好。

答案 1 :(得分:0)

你的例子:

TRACK.pageName = pageName || TRACK.buildPageName();

是正确的,但是如果你想与undefined进行比较,可以这样做:

if (pageName !== undefined){...}

答案 2 :(得分:0)

我认为,你可以在TRACK.buildPageName()中实现这个if语句。 如果pageName是全局变量,您可以从TRACK.buildPageName()

中访问它
{
...
    buildPageName: function() {
        this.pageName = (typeof pageName != 'undefined' ? pageName : TRACK.innerBuildPageName());
    }
}

多亏了这一点,你可以只隐藏和实现这个if语句一次。