形参和实参分别是什么?
形参是你定义函数时,如果有参数,定义的变量就是形参,如下
// vue3.2语法
const qiehuan = (item, index)=>{
consloe.log(item, index) // 可以使用 所以能输出
}
consloe.log(item, index) // 不可以使用 所以会报错
// vue2语法 methods的方法里定义的方法都是函数
qiehuan(item, index){
consloe.log(item, index) // 可以使用 所以能输出
}
consloe.log(item, index) // 不可以使用 所以会报错
// 函数定义时 括号里的参数就是形参 形成一个局部作用域 变量item和index只在函数里生效
实参是你在使用函数时,需要传递给函数的参数,是值,如下:
// vue3.2语法使用上面的qiehuan函数
// 第一种 直接传递数据
qiehuan({name:'ceshi', age:18}, 2) // 传递的就是一个对象和一个数字 分别对应上面的item和index
// 如果调用上面的切换,将输出对应的: {name:'ceshi', age:18}, 2
// 第二种 通过变量传递数据 一般用于html里的一些事件如点击事件
// 前提:
// arr=[{name:'ceshi1', age:18}, {name:'ceshi2', age:19}, {name:'ceshi3', age:20}]
<div v-for="(item, i) in arr" :key="i" @click="qiehuan(item, i)">
我是按钮
</div>
这里qiehuan里的item和i就是循环的arr里的数据,点击哪一个就会传对应的值去qiehuan函数里。
注意:不需要变量名也必须一致,形参写index,这里实参写i,但他们都是第二个参数,所以i的值传给index是没有问题的。