当前位置:  开发笔记 > 编程语言 > 正文

在javascript中设置默认值的惯用方法

如何解决《在javascript中设置默认值的惯用方法》经验,为你挑选了1个好方法。

在javascript中执行以下操作的最惯用方法是什么:

如果调用者没有将myParam传递给MyFunc,那么我想将其设置为默认值.但首先我想尝试从另一个可能尚不存在的对象中获取它:

function MyFunc(myParam) {

    if (!myParam) {
        if (!myObj) {
            myParam = 10;
        }
        else {
            myParam = myObj.myParam;
        }
    }

    alert(myParam);
}

我开始写:

    myParam = myParam || myObj.mParam || 10

但意识到如果myObj不存在那么这将失败.我猜可以猜到:

    myParam = myParam || (myObj && myObj.mParam) || 10

它甚至可能有效.但这是最好的方式吗?

例如John Resig会怎么做?



1> Luca Matteis..:

如果myObj是全局的,则需要引用window对象,否则如果myObj未定义则会抛出错误.

myParam = myParam || (window.myObj ? window.myObj.mParam : 10);

要么

myParam = myParam || (window.myObj && window.myObj.mParam) || 10;

这也有效:

myParam = myParam || ((typeof myObj !== "undefined") ? myObj.mParam : 10);

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有