摘要:
/* * 正则替换%s * @para arg1(text) 需要替换的模版 * @para arg2 替换第一处%s * @para arg3 替换第二处%s * 返回替换后的字符串 */var sprintf = function (text) { var i = 1, ar... 阅读全文
摘要:
规则1:隔离应用逻辑 这会让你的代码容易调试规则2:不要分发事件对象 event对象包含了太多信息// a good examplevar handlePopup = { // 事件句柄,处理所有和event对象有关的东西 handleClick: function (e) { ... 阅读全文
摘要:
A.1 缩进// 4个空格的层级缩进if (true) { doSomething();}A.2 行的长度// 每行限于80个字符,超出则在运算符后换行,缩进2个层级(8个空格)doSomething(argument1, argument2, argument3, argument4, ... 阅读全文
摘要:
为便于操作基本类型值,ECMAScript提供了3个特殊的引用类型:Boolean, Number 和 String// 字符串怎么会有方法呢var str1 = "some text", str2 = str1.slice(2);// JS引擎的解析原理类似这样;创建一个对应的基本包装类型的... 阅读全文
摘要:
函数实际上是对象,每个函数都是Function类型的实例。函数是引用类型。函数名实际上是一个指向函数对象的指针,不会与某个函数绑定。// 这种写法更能表达函数的本质var sum = function(num1, num2) { return num1 + num2;};var another... 阅读全文
摘要:
ECMAScript 中的 Date 类型是在早期 Java 的 java.util.Date 类基础上构建的。Date 类型使用自 UTC (国际协调时间)1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。Date 对象的valueOf()方法可以获取这个毫秒数。使用本地化UTC的方式是较... 阅读全文
摘要:
如果数组中全是Nunber类型,则可以按照数值大小排序var values = [0, 1, 5, 10, 15];// asc升序函数function compareAsc(value1, value2) { if (value1 > value2) { return 1; ... 阅读全文
摘要:
JavaScript只有函数作用域;每个函数都有个作用域链直达window对象。变量的查找由内而外层层查找,找到即止。同时不仅可以查找使用,甚至可以改变外部变量。var color = "blue";function changeColor() { var anotherColor = "re... 阅读全文
摘要:
一个完整的JavaScript实现由三部分组成(各个浏览器的具体实现又有所区别,这是导致兼容性的原因。): 核心:ECMAScript(ECMA-262) 文档对象模型:DOM(Document Object Model) 浏览器对象模型:BOM(Brower Object Model)ECMA-2... 阅读全文