javascript中的全局变量和局部变量
来源:互联网 发布:口粮软件下载 编辑:程序博客网 时间:2024/05/19 16:35
最近写了很多js相关的程序,发现很多没有真正去接触或很少接触代码在计算机上运行的机制的前端工程师经常犯的一个错误:过度的使用全局变量,特别是document这个全局,在大量使用js的页面中很容易造成卡顿的现象。
变量,简单的来说就是分为全局变量和局部变量。由于作用域的不同,js对这两种变量的处理方式也不同。在js中变量是以栈的形式来进行保存的。栈的规则是后进先出,对于document这个自带的全局变量,毫无疑问这个变量被压在栈底,而在函数中定义的局部变量则存在于栈顶。为什么要这样做呢?因为局部变量已使用完了就可以释放出其所占用的存储空间,而全局变量是存在于整个程序中的直到程序被销毁才将其释放,因此把局部变量放在栈顶是为了更好地出栈。
在一段程序中多次使用全局变量,就是说你要多次地去进行出栈入栈操作,这无疑是在浪费时间。
例如:
function a(){ var a = document.getElementById("a"); var b = document.getElementById("b"); var c = document.getElementById("c"); var d = document.getElementById("d"); ....... console.log(a,b,c,d);}这段代码的执行效率肯定不高,那么解决的方法是什么?
其实只要在函数一开始定义一个值:var dom = document; 就可以解决了。我们将document这个变量的值赋给dom,之时只访问了一次栈底。dom作为一个局部变量存在于栈顶。然后我们在把a,b,c,d这是个变量用dom.getElementById()来赋值。这时就不需要多次访问为程序节约时间。
在遇到上面这种多次访问到全局变量的情况下不妨试试我这种方法。
ps:建议少用全局变量。以上是个人的愚见,要喷请轻喷
- javascript中的全局变量和局部变量
- JavaScript全局变量和局部变量
- javascript局部变量和全局变量
- javascript-全局变量和局部变量
- JavaScript 全局变量和局部变量
- JavaScript中的全局变量和局部变量容易混淆
- Javascript中的全局变量与局部变量
- javascript中的全局变量,局部变量,this易错点
- JavaScript的全局变量和局部变量
- javascript 关于局部变量和全局变量
- JavaScript的全局变量和局部变量
- JavaScript全局变量和局部变量实例
- javascript的全局变量和局部变量
- JavaScript之全局变量和局部变量
- javascript的全局变量和局部变量
- JavaScript 诡异的全局变量和局部变量
- 3.6Javascript函数-局部变量和全局变量
- html javascript 全局变量和局部变量
- 【技术】C语言传递指针到函数 About transfer pointer into function
- Oracle复杂查询初探
- jboss jbpm server.log
- 基础计算机网络——传输层(Transport Layer)笔记
- 关于自定义view的适配问题
- javascript中的全局变量和局部变量
- 数据库分页查询
- 学习iPhone UIKit(一)
- 如何在eclipse中输入一个字母或者一个符号就可以立即有提示出来!让您的编程方便快捷
- 面向接口编程详解(二)——编程实例
- android:ListView中的getView原理
- 处理对象的多种状态及其相互转换——状态模式(六)
- 汇编之中断申请(例子)
- 八年级作文-倾听春雨的喜悦