浅析函数的调用过程

  1. 通过函数名找到函数的入口地址;
  2. 给形参分配空间
  3. 传参(把实参传递给形参,包括值传递和址传递);
  4. 执行函数体(给局部变量分配空间等);
  5. 返回;
  6. 释放空间(释放的是栈空间)。

注意:函数的形参也拥有地址空间,与实参的地址空间相独立。

总结起来整个过程就三步: 
1)根据调用的函数名找到函数入口; 
2)在栈中审请调用函数中的参数及函数体内定义的变量的内存空间 
3)函数执行完后,释放函数在栈中的审请的参数和变量的空间,最后返回值(如果有的话) 
如果你学了微机原理,你会想到cpu中断处理过程,是的,函数调用过程和中断处理过程一模一样
 

在Vue2中,可以使用watch来调用函数。具体有三种方式可以实现: 第一种方式是直接在watch中定义一个监听处理函数,当所监听的数据发生变化时,该函数会被触发。例如,在Vue实例中可以这样写: ``` watch: { cityName(newName, oldName) { // 在这里执行函数的逻辑 } } ``` 第二种方式是在watch中使用字符串形式的方法名来指定要调用函数。例如,在Vue实例中可以这样写: ``` watch: { cityName: 'Namechange' } ``` 这样,当cityName的值发生变化时,会调用Vue实例中的Namechange函数。 第三种方式是使用$watch函数进行调用。$watch函数是Vue的内置方法,用于添加一个数据监听,当所监听的数据变化时,执行指定的回调函数。例如,在Vue实例中可以这样写: ``` this.$watch('cityName', function(newName, oldName) { // 在这里执行函数的逻辑 }) ``` 总结起来,Vue2中watch可以通过定义监听处理函数、使用字符串形式的方法名或使用$watch函数调用函数。这些方法都可以实现在数据变化时执行相应的逻辑操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vue的watch监听函数](https://blog.csdn.net/wwf1225/article/details/106590301)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [浅析vue 函数配置项watch及函数 $watch 源码分享](https://download.csdn.net/download/weixin_38663167/12949455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值