JavaScript 对象默认

标签 javascript

我想要一个代码高尔夫解决方案,其功能相当于以下功能:

myFunc = function( config ){
    if ( typeof config !== 'object' ) { config = {}; }

    config.property = config.property || 123;
};

基本上,是否有一种更短的方法来确保我始终传递一个对象,如果没有则创建它,并为其分配随机值?

最佳答案

我通常使用合并助手,通常是 jQuery.Extend() (请参阅 documentation )。但如果您不想使用 jQuery,那么编写类似的帮助器就很简单了。但我通常会这样做:

myFunc = function( config ){
    var defaults = { property: 123 };
    config = $.extend({}, defaults, config);
};

基本上,您使用默认值扩展一个空对象,然后使用您传入的配置。您将始终获得一个至少具有您的 defaults 属性的新对象。我绝对建议将对象合并代码抽象到它自己的帮助器中,这样您就不会在每个构造函数中重复相同的逻辑。

关于JavaScript 对象默认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7324136/

相关文章:

javascript - 元素移动时悬停不正确

用于检查互联网连接的 Javascript

javascript - 如何在vue应用程序中获取切换开关状态

javascript - 正则表达式:获取特定子字符串前后的数字

javascript - 使用 AJAX 调用 Ruby(不是 Rails)变量

javascript - 在canvas html中将正方形转换为圆形

javascript - SailsJs Controller 上下文

javascript - 在同一个项目中同时使用 coffeescript 和 typescript

javascript - 如何防止其元素内的链接默认?

javascript - 如何从 v8 C++ 函数返回 vector <T>