javascript和dart中函数传参数的小对比:位置参数和命名参数

1、 default values for positional parameters

1.1、js版本
function positional(a,b=9){
  console.log('a:',a);
  console.log('b:',b);
}
console.log(`一个实参:`);
positional(5);

console.log(`二个实参:`);
positional(5,3);

结果如下:

一个实参:
a: 5
b: 9
二个实参:
a: 5
b: 3
1.2、dart版本:
void positional(a,[b=9]){
  print('''a:$a''');
  print('''b:$b''');
}
void main() {
  // getHttp();

  abc(b:{});
  print('一个实参');
  positional(5);
  print('二个实参');
  positional(5,3);
}

/**

*/

结果如下:

一个实参
a:5
b:9
二个实参
a:5
b:3

2、 default values for named parameters

2.1、js版本
2.1.1 js版本1
function named({a=1,b=2}={}){
    console.log('a:',a);
    console.log('b:',b);
}
console.log('不传:')
named();
console.log('传一个a');
named({a:8});
console.log('传2个:');
named({a:876,b:999});

结果如下:

不传:
a: 1
b: 2
传一个a
a: 8
b: 2
传2个:
a: 876
b: 999
2.1.2 js版本2
function named({a,b}={a:1,b:2}){
  console.log('a:',a);
  console.log('b:',b);
}


console.log('不传:')
named();
console.log('传一个a');
named({a:8});
console.log('传2个:');
named({a:876,b:999});
2.2、dart版本
void named({num a = 1, num b = 2}) {
  print('''a:$a''');
  print('''b:$b''');
}
void main() {
  print('不传:');
  named();
  print('传一个a');
  named(a:8);
  print('传2个:');
  named(b:999,a:876);
}

结果如下:

不传:
a:1
b:2
传一个a
a:8
b:2
传2个:
a:876
b:999
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值