关于函数参数

问题描述

为什么像下面这样的传参,函数能够正常执行,这涉及到函数的什么知识点。

function print(num){
    console.log(num,arguments)
}
print(print.s = 1)
print(print.bb = 3)
print(iii = 4)

// 1 Arguments [1, callee: ƒ, Symbol(Symbol.iterator): ƒ]
// 3 Arguments [3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
// 4 Arguments [4, callee: ƒ, Symbol(Symbol.iterator): ƒ]
阅读 2.3k
5 个回答

基本没什么知识点,赋值操作是有返回值的,比如:

// b = 3 操作返回了 3,所以 a === 3
a = b = 3

等价到你这里来说就是

print.s = 1
print(1)
// 后面类似

就是给入参赋个值

和传参没什么关系;
可以这样看:

var a , b;
a = b = 1; // 这里的情况和你那种专参的情况是一样的 看成这样 a = (b = 1) ;

可以参看 赋值运算 文档

就是赋个值赋个值

新手上路,请多包涵

函数传参主要就是形参和实参的问题,然后其他就是变量声明问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题