【问题标题】:Default values of parametrs for own functions in jqueryjquery中自己函数的参数默认值
【发布时间】:2010-03-14 16:12:33
【问题描述】:

我正在编写自己的 jQuery 函数。是否可以设置函数参数的默认值?

【问题讨论】:

    标签: jquery function defaults


    【解决方案1】:

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

    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】:

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

      a = a || "something"
      

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

      【讨论】:

      • 不要忘记行尾的分号。尽管 JS 会尽可能地为您提供这些内容,但最好自己动手。
      • 这将因布尔值而失败。如果你传入 false,并且你的默认值为 true,它会一直设置为 true。
      【解决方案3】:

      您可能需要检查 undefined 而不是 null

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

      【讨论】:

      • 非常感谢。这是我发现的。
      【解决方案4】:

      如果未定义,则 a 有“某物”

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

      【讨论】:

      • 这将因布尔值而失败。如果你传入 false,并且你的默认值为 true,它会一直设置为 true。
      【解决方案5】:
      (function($) {
          $.fn.yourFunction= function(opts) {
              var options = $.extend({}, $.fn.yourFunction.defaults, opts);
      
              ....
      
              $.fn.yourFunction.defaults = {
              param1: "someval",
              param2: "",
              param3: "#ffffff"
          };
      
      })(jQuery);
      

      【讨论】:

        猜你喜欢
        • 2011-02-20
        • 2011-04-09
        • 1970-01-01
        • 2015-10-30
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        • 2019-09-11
        • 2012-08-03
        相关资源
        最近更新 更多