这篇文章没有摘要
单例模式^ob_scope_closure 单例模式避免了重复实例化带来的内存开销。 // 单例模式 function Singleton() { this.data = "singleton"; } Singleton.getInstance = (function () { var instance; return function () { …
Closure 闭包:有权访问另一个函数作用域中变量的函数。 一个作用域可以访问另外一个函数内部的局部变量,就产生闭包,局部变量在函数执行完后不会被立即销毁,而是等所有函数调用完该变量后再销毁。 闭包的主要作用:延伸变量的作用范围。 过度使用闭包会造成内存泄漏。 应用 模拟类私有属性 // 模拟私有属性 function getGeneratorF…
This directory is in the github repository. All new posts will be fetched from the dir.
JS Engine
JS Tips
JS Function
JS 日期格式化
JS 数组
JavaScript
JS 引擎加载脚本文件后:语法分析、预编译、解释执行。 匿名函数不参与预编译,只有在解释执行阶段才会进行变量初始化。 JS 执行线程 javascript 引擎执行的过程的理解--执行阶段 JS 是单线程的是指永远只有 JS 引擎线程在执行 JS 脚本程序,其他的三个线程只协助,不参与代码解析与执行。 JS 引擎线程:也称为 JS 内核,负责解析执…
任何变量,如果未经声明就赋值,此变量是属于 window 的属性,而且不会做变量提升。(注意,无论在哪个作用域内赋值) function foo() { var a = (b = 100); // a和b的区别 } defer and async The best thing to do to speed up your page loading …
函数声明的方式 function关键字 函数表达式(匿名函数)var 变量名 = function([形参1,形参2...形参N]){} 构造函数var 变量名/函数名 = new Function('形参1', '形参2', '函数体'); 函数调用 func() func.call() (function(){})(); new func() …
JS日期格式化转换方法 Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), …
Fundamental ECMAScript中new Array(len)的操作 判断 len 是否为合法数字(小于 2^32 - 1 的正整数),如果不是则抛出错误; 创建一个 JavaScript Array 实例; 将这个实例对象的 length 属性设置为入参的值; 但该数组此时并没有包含任何实际的元素,而且不能理所当然地认为它包含 len…
TODO [ ] 理解浏览器工作原理 [ ] 防抖和节流