在javascript中,当我们不关心忽略falsey值时,我们经常会看到如下代码来设置默认参数.
function SomeObject (param) {
this.param = param || {};
}
Run Code Online (Sandbox Code Playgroud)
有时,在阅读代码时,我会遇到以下变化:
function SomeObject (param) {
this.param = param = param || {};
}
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释这个用例吗?
在此代码中:
function SomeObject (param) {
this.param = param = param || {};
}
Run Code Online (Sandbox Code Playgroud)
进行了两项单独的赋值:一项分配给param局部变量(函数的实际参数),另一项分配给 的属性this,无论发生什么。这两个不同的分配目标并不相同。(当然,它们会获得相同的值,但它们是两个不同的放置值的地方。)
根据我的经验,更常见的是为参数本身建立一个简单的默认值:
function whatever(x) {
x = x || {};
Run Code Online (Sandbox Code Playgroud)
然而,在有意义的情况下分配给对象属性并没有什么问题。
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |