我编写了一个接受对象作为参数的函数。所述对象包含各种附加参数。这与许多jQuery函数一样。
确保对象包含所需最小参数的最佳方法是什么?如何将默认值分配给那些不需要的参数?
以下是我现在正在做的事情。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:img="https://www.ephe.fr/annuaire/colin-brisson" exclude-result-prefixes="xs"
version="3.0">
<xsl:use-package version="1.0" name="img_pkg"/>
<xsl:template name="xsl:initial-template">
<xsl:message>
<xsl:value-of select="img:test()"/>
</xsl:message>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:1)
我想没有检查所需对象属性的快捷方式(必须逐个完成)。如果有人知道的更好,请纠正我!
为了给不需要的参数赋值,Object.assign()是个不错的选择:
// parameterObject is passed into the function
// parameterObject === { prop1: "Peter", prop3: "yep", prop4: 500 }
var defaultObject = { prop1: "default value 1", prop2: "default value 2" };
var finalObject = Object.assign(defaultObject, parameterObject);
// finalObject === { prop1: "Peter", prop2: "default value 2", prop3: "yep", prop4: 500 }
在参数对象上方,传递给函数,被赋值给defaultObject。这将覆盖可从parameterObject中找到的所有defaultObject属性,但不会触及仅属于defaultObject的那些属性。
MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign