如果说声明的变量和函数的都要占用栈或堆内存的空间 那么是否应该有选择的尽量减少声明


只要不重复的尽量选择裸写~


必要的声明变量是有必要的,举个例子
假如有若干个li,for循环他们做点什么事
for(var i = 0;i<li.length;i++) {
.....
}
每一次循环搜索引擎都会遍历li的个数。浪费了性能
正确写法var li_nodes = li.length;
for(var i = 0;i<li_nodes.length;i++){
.....
}


在举个例子  根据词法作用域 搜索引擎如果能在函数内找到的标识符 变量就不会再函数外找。
返回的bar函数寻找a这个标识符,搜索引擎要向上寻找到全局变量才能取到
var a = 10;
function sum(){
 var b = 5;
 function bar (a,b) {
 alert(a*b)
}
 return bar()
}
var a = 10;
function sum(){
 var c = a;
 var b = 5;
 function bar (c,b) {
 alert(c*b)
}
 return bar()
}
这样就少查询一层但是增加了代码的量。所以如何优化还看自己

首先,变量和函数的声明自然不能滥用。其次,也不能因噎废食的去过度删减变量和函数。

对于前端来说,内存、性能方面的考虑建议放到较后的位置,因为Js代码属于较上层的脚本代码,其与最终的机器代码之间夹杂了很多的层次,所以Js本身很难直接影响到最终堆栈的使用。
对于性能上的考虑,还是交给V8这样的解析引擎去做,毕竟他们的目的就是提高运行速度。而Jser自身,则应该多多发挥Js本身的灵活性,掌握利用它进行快速开发的本领。如果耗费时间去优化Js代码的性能,还不如找一门更底层的语言入手,所需的时间更短,效果更佳。



相关阅读:
iOS中, 想要使用七牛的云储存功能, 请问应该如何手动导入
微信小程序的image组件的宽高不能用内联样式吗?
webpack安装loader时提示文件不存在 打开package.json
对于top right bottom left为负时怎么判断距离
typeof 输入框里面的值 就算输入为数字还是返回string
hcharts怎么设置dataLabels中的边框只有右边有
shiro的标签<shiro:principal/>显示不了内容?
自己在写博客,通过样式和功能方面想请求点意见和建议
mac创建ipv6 wifi热点无法上网
es6 + webpack在微信下没反应
laravel 5.3 passport遇到一些坑
swift3 实机测试 SWTableviewCell无法载入
shell脚本变量作用域的问题
vue怎么加载外部js?????????
如何把一个视图放在左浮动定位的视图的上面?
在线创建站点怎么实现?
cubism.js 怎么用,在哪下载,没有思路
前端包管理器解决方案?
jsoup如何选出没有被隐藏的tr元素
scrapy shell 报错521



快速导航

Copyright © 2016 phpStudy |