使用可选参数作为对象的JavaScript-函数?

2022-05-06 00:00:00 object parameters javascript optional

我需要一个函数,它的参数是对象,如果我将其留空,它将加载默认值。

类似:

function loadMap(args) { //args is an object and its optional

   //this is what I want to do, test args and load defauts if necesary
   /*
   pseudocode:
   if args.latitude is not set then
       give it a default value

   if args.longitude is not set then
       give it a default value

    end pseudocode */

   alert("Latitude is "+args.latitude );
   alert("Longitude is "+args.longitude );
}

//outputs the default values
loadMap();

//outputs custom values
loadMap({latitude: "x.xxxx", longitude: "-x.xxxx"});

//and should work too and output one default and one custom value
loadMap({latitude: "x.xxxx"});
我在这个问题(Is there a better way to do optional function parameters in Javascript?)中找到了这个解决方案,但它需要jQuery: http://jsfiddle.net/xy84kwdv/

这几乎就是我想要的,但我不想依赖jQuery函数。


解决方案

您是否在寻找这样的东西:

function loadMap(args) { 
    args = args || {}; 
    args.latitude = args.latitude || "X.XXX"; 
    args.longitude = args.longitude || "Y.YYY"; 
    alert(args.latitude);
    alert(args.longitude);
}; 

loadMap({latitude:"custom_latitude"});

相关文章