#transfer#
问题描述:
A和B为两个可下拉选择的选框,选择A 会触发更新B的选框内容。此时当选择A之后,需要将B的选框原有的内容清空。但是由于首次打开界面时,AB都会获取数据库的数据,若在触发B的方法里进行置空则首次打开界面时,B不会存在数据。
解决方式:
使用全局变量,定义一个first来判断这是打开界面的状态还是更新的状态。即当首次打开界面时,first为0,然后更新first为1,在之后每次选择A 时,触发的B方法就会进入first为1的循环,在此循环中将B原有的内容置空。
补充学习:
一般来说声明在最外面的是全局变量,声明在函数里面的是局部变量;
从执行效率来看全局变量和局部变量的区别
- 全局变量只在浏览器关闭时才会销毁,比较占内存资源
- 局部变量在执行完函数后就会销毁,比较省内存
- 全局变量的使用应该谨慎,因为它们会占用内存资源并可能导致变量名冲突和代码混乱。为了避免这些问题,应该尽可能使用局部变量,只在需要时才使用全局变量。
前端的全局变量是指在整个前端应用程序中都可以访问的变量,它们可以在任何地方被调用和修改。在JavaScript中,如果在函数外部声明一个变量,它就会成为全局变量。全局变量可以通过var、let或const关键字声明,但要注意不同声明方式的作用域和生命周期。