龙空技术网

JavaScript function默认参数赋值前后顺序差异

北漂佳佳的生活 57

前言:

眼前兄弟们对“js给参数赋值”大体比较讲究,我们都想要剖析一些“js给参数赋值”的相关文章。那么小编也在网摘上汇集了一些有关“js给参数赋值””的相关资讯,希望兄弟们能喜欢,大家快快来学习一下吧!

1、(num1,num2=num1) 当传值仅传一个参数时,先给到第一个参数即num1,num1再赋值给num2,

function sum(num1, num2 = num1) {  console.log(num1 + num2)}sum(10)//20sum(10,3)//13

2、(t2=t1,t1) 当传值仅有一个参数时,先给到第一个参数即t2,可t1参数的值尚未初始化,所以t1也就是undefined

function total(t2 = t1,t1) {  console.log(t1 + t2)}total(10)//NaN  参数的值尚未初始化,导致的错误total(10,3)//13
容易看错的默认赋值情况:(如果调用传参有值,默认值是无效的)
function test(m = n, n = 2) {    console.log(m, n)}test() // Uncaught ReferenceError: Cannot access 'n' before initializationtest(3) // 3 2test(3, 4) // 3 4

标签: #js给参数赋值 #js默认参数值