摘要:
//高级程序匿名函数章function a(arg){};var a = function(){};var a = new Function("arg","return n1+n2");/* 函数就是对象 JS中三种声明函数的方式 区别:js中 函数名只是一个函数对象的指针,通俗点讲就是 一个书的目录 知道具体的内容的位置根据js预解析 声明函数会提前加到作用域中,然匿名函数姑且看过变量根据变量的方式所以声明函数能在全局任何地方调用,匿名函数需要先定义*/待续 阅读全文
摘要:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf- 阅读全文
摘要:
function outerFunc(){ var privateAttr = 10; return function(){ privateAttr *= 2; return privateAttr; };}// 通过调用outerFunc函数,返回一个指向innerFunc函数的引用,// 这个引用被赋给变量refInnerFuncvar refInnerFunc = outerFunc();alert(refInnerFunc());// 通过 refInnerFunc 这个引用调用到 innerFunc 函数refInnerFunc(); // return 20 变量private.. 阅读全文
摘要:
在Javascript的框架开发中,面向对象式编程和面向函数式编程各有长处,因况而异。除了在单例工厂中设置一些类型常量外,闭包通常被用来模拟类的私有变量和方法。结合js的prototype机制,一个具有面向对象特点的js函数能够被以减少内存占用的形式实例化出来。每创建一个新的Tree实例,内存会为其私有变量,私有方法和所有能够访问私有变量和私有方法的方法开辟物理空间,而prototype中的方法始却始终只有一个。因此我们可以将那些不需要保存自身状态信息的方法放到js函数式对象的prototype中去,以节省浏览器的内存开销。 阅读全文