2010-03-14 113 views

回答

9

一种方法是检查参数。例如:

function test(paramA) { 
    if (paramA == null) { 
     paramA = defaultValue; 
    } 
    // use paramA here 
} 

另一种可能性是:

function test() { 
    var paramA = defaultValue; 
    if (arguments.length == 1) { 
     paramA = arguments[0]; 
    } 
    // use paramA here 
} 
2

你可能要检查undefined,而不是null

var f=function(param){ 
    if(param===undefined){ 
    // set default value for param 
    } 
} 
+0

非常感谢。这是我发现的。 – sev 2010-03-14 16:36:36

0

如果没有定义,则有 “东西”

a = a || "something"; // setting default value 
+0

布尔值将会失败。如果您传入false,并且您的默认值为true,则它将始终设置为true。 – KingOfHypocrites 2013-09-08 18:45:59

3

我不能投票,但现在与color2life同意。

a = a || "something" 

可能是最简洁和可读的版本。

+0

不要忘记在行尾有分号。尽管JS会将它们放在你所能找到的位置,但最好自己做。 – DemitryT 2012-08-29 19:55:16

+0

这将与布尔值失败。如果您传入false,并且您的默认值为true,则它将始终设置为true。 – KingOfHypocrites 2013-09-08 18:44:58

0
(function($) { 
    $.fn.yourFunction= function(opts) { 
     var options = $.extend({}, $.fn.yourFunction.defaults, opts); 

     .... 

     $.fn.yourFunction.defaults = { 
     param1: "someval", 
     param2: "", 
     param3: "#ffffff" 
    }; 

})(jQuery);