我可以像这样声明默认参数吗

function myFunc( a, b=0)
{
  // b is my optional parameter
}

用JavaScript?

推荐答案

With ES6:现在是part of the language:

function myFunc(a, b = 0) {
   // function body
}

请记住,ES6会对照undefined判断这些值,而不会对照真实性进行判断(因此,只有未定义的实值才会获得默认值--像NULL这样的假值不会默认).


With ES5:

function myFunc(a,b) {
  b = b || 0;

  // b will be set either to b or to 0.
}

只要显式传递的所有值都是truthy,这种方法就可以工作.

在函数实际启动之前,经常会看到JavaScript库对可选输入执行一系列判断.

Javascript相关问答推荐

在包装函数中添加日志(log)

如何对齐左侧、叠加和全高侧导航菜单

将元素添加到 const 集

像stackoverflow这样的textarea预览有

两行相同代码的区别

视频在 chrome 中播放,但没有在 safari 浏览器中播放

onclick 更改所有映射的项目,而不仅仅是一个

我不能用 useEffect 在 React 中添加类名还是?

如何使用包含图像 url 的 JS 数组设置背景 html 正文的图像?

如何添加活动类以链接到当前页面和语言环境?

如何将 DRACO 加载器与 GLTF 加载器一起使用?

在 WebRTC 中更改密码

受控形式:如果输入无效,则显示 div

在 map Typescript 中添加额外的属性类型

无法在 _app.js 中使用 getStaticProps

如何根据用户输入和下拉列表查找 html 文件

Vue.js:更改作为props 传递的对象是一种不好的技术吗?

强制用户输入字符串变成小写

悬停时未出现元素

element.replaceChildren() 函数是否适用于重复值,或者是什么阻止了它的工作