高性能JS笔记2——数据存取

数据存取性能而言:

字面量>本地变量>数组元素>对象成员

一、标识符解析的性能

标识符解析是有代价的,一个标识符的位置越深,它的读写速度也就越慢。

局部变量的读写速度是最快的,全局变量在作用域链的最末端,所以尽可能使用局部变量。

如果某个跨作用域的值在函数中被引用一次以上,那么久把它存储到局部变量里。

二、改变作用域链

作用域链运行后一般不会改变的,With和 Try-Catch可以在执行时临时改变作用域链,功能模块执行完后,作用域链恢复。

改变作用域链后,访问改变后的对象更快了,但是访问函数内的局部变量变慢了,一般不建议使用。

function initUI(){
	var num1 = 0;
	with(docuent){
		var bd = body,
		links = getElementsByTagName("a");
		var num2 = num1;
		bd.className = "active";
	}
}

三、动态作用域

四、闭包、作用域和内存

时间: 2024-10-17 00:35:50

高性能JS笔记2——数据存取的相关文章

Android开发学习笔记:数据存取之SQLite浅析

一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl.PHP.Java.C++..Net等,还有ODBC接口,同样比起 Mysql.PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的

JS性能优化——数据存取

首先,了解几个概念: 字面量:它只代表自身,不存储在特定的位置.JavaScript中的字面量有:字符串.数字.布尔值.对象.数组.函数.正则,以及特殊的null和undefined值 本地变量:使用var 定义的数据单元 数组元素:存储在JavaScript数组对象内部,以数字作为索引 对象成员:存储在JavaScript对象内部,以字符串作为索引. 每一种数据存储的位置都有不同的读写消耗.大多数情况下,从一个字面量和局部变量中存取数据的性能差异是微不足道的.访问数组元素和对象成员的代价则要高

高性能JS笔记3——DOM编程

一.访问与修改DOM DOM和JS 相当于两个岛屿,访问操作的次数越多,要交的过路费越多,对性能产生很大影响. 减少访问DOM的次数,把运算尽量留在JS端操作. 二.innerHTML 对比 DOM 方法 1.对于原生的DOM方法和innerHTML比较,性能相差无几. 2.对于大量操作,针对不同浏览器,性能不一样,因此取决于经常用的浏览器. 3.建议从可读性.稳定性.编码习惯来决定使用哪种方式.在对字符串经过优化后,innerHTML性能可以得到大幅提升. 三.操作上的优化 1.节点克隆 例如

Android 开发笔记 “SharePreference 数据存取”

除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.实现SharedPreferences存储的步骤如下: 一.根据Context获取SharedPreferences对象 二.利用ed

高性能JS笔记1——加载执行

一.脚本位置 1.Script标签尽可能放到Body底部,以减少脚本文件下载对整个页面UI渲染的影响. 2.Script标签永远不要紧跟Link标签后面. 二.组织脚本 1.合并多个文件在一个Script中加载: <script type="text/javascript" src="/scripts/jquery.min.js&/scripts/jquery.validation.js"></script> 三.无阻塞的脚本 1.无

高性能JS笔记4——算法和流程控制

一.循环 for.while.do while三种循环的性能都没有多大区别.foreach 的性能较其他三种差 . 既然循环没有多大区别,注意循环内的代码控制. 减少迭代次数. 减少迭代工作量. 推荐写法: for(int i=0, l = array.length; i < l; i++) { int v = array[i]; }; 二.条件语句 if else 和 switch语句较少时,if else较易读.分支多时,从性能或易读上都倾向于switch. 优化条件语句: 最小化到达正确分

《高性能js》读书笔记

第一章:加载和执行 1.浏览器的JavaScript的引擎是编译器层的优化: 2.当浏览器执行JavaScript代码时,不能同时做其他任何事情(单一进程),意味着 3.主流浏览器都允许并行下载JS. 4.减少外链脚本数量将会改善性能(合并JS) 5.任何网站都可以使用一个把制定文件合并处理后的URL来获取任意数量的文件. 6.defer属性可延迟脚本(只有IE4 和FF3.5 支持) 第二章:数据访问 1.JavaScript中有四种基本的数据存取位置: 直接量,变量,数组元素(以数字作为索引

# JS笔记(1)

 JS理论: 1.JavaScript是一个客户端脚本 ------工作在客户端的浏览器完成:相对应的PHP.ASP.NET .JSP 是一个服务端脚本. 2.JS可以插入到HTML中的任意一个位置,不过HTML解析式从上往下解析的,所以放在上面可能会找不到控件. 3.JS的特点: 脚本编程语言 基于对象的语言 由事件驱动 跨平台.依赖于浏览器.与操作环境无关 4.JS的作用: 表单的验证(放在客户端验证比较好)----可以减轻服务端的压力,并且用户体验感更好 页面的动态效果 动态改变页面的内容

Windows phone 8 学习笔记(2) 数据文件操作(转)

Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式. 快速导航:一.分析各类数据文件存储方式二.安装文件夹三.本地文件夹(独立存储空间)四.媒体库操作五.本地数据库 一.分析各类数据文件存储方式 1)安装文件夹 安装文件夹即应用安装以后的磁盘根文件夹,它提供只读的访问权限.它在手机中对应的路径为" C:\Data\Programs\{XXXXXXX