前端模块化分析:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html中的问题:
1-3、立即执行函数作为模块,在程序中的其他地方怎么去调用?
答:将立即执行的函数赋值给一个对象,应该可以通过该对象的名称去调用。待定.......
1-4、将立即执行函数(function(mod){})(module1)赋值给新的对象module1,而这个新的module1是老的module1对象传入
那个匿名函数中的参数,所以module1就有了老对象和新对象的所有方法。
commonjs是服务端js模块化管理的工具,而它在浏览器端上是无法使用的。原因是缺少node.js中的四个环境变量:module、exports、require、global。
browserify就是提供给浏览器端这四个环境变量,才使得在浏览器端可以引用其他的模块。
MVVM模式:View-----ViewModle-------Modle。
UI的领域大致分化为:界面、数据、事件、业务,这四个方面。web应用中主要做的事情是将用户在界面上的操作(事件)通过一些逻辑(业务)操作一些数据,
再返回显示在页面中。
JavaScript中函数中的this的指的是调用这个函数的对象。它可以分为四种情况:
1、纯粹的函数调用,这个时候它指的是全局变量Global。在浏览器中为Windows对象,也就是兜底对象。
2、函数还可以作为某个对象的方法调用,这时this就指这个上级对象。
3、所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,this就指这个新对象。
4、apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。
因此,this指的就是这第一个参数。而apply函数没有第一个参数则指的是全局变量。
JavaScript中闭包指的是一个中的内部全局变量的函数。函数f1中有个全局函数f2。
其作用是让函数外部环境中能够访问函数内部的局部变量。因为f2是全局变量函数,所以它一直存在内存中,而函数f2依赖于函数f1,
所以f1中的局部变量也一直存在于内存中。
浙公网安备 33010602011771号