1
tangzx 2013-05-26 16:52:23 +08:00 via iPhone 1
|
2
icexfire OP |
4
icexfire OP @tangzx 难道 $ = require('jquery') 这种是在coffee编译成js的时候自动解决添加依赖的jquery么?就不用手动在网页中载入 jq了? >.<
|
5
insraq 2013-05-26 17:36:21 +08:00 1
$ = require('jquery') 跟CoffeeScript没关系,是把jQuery wrap成了一个CommonJS module.
|
6
icexfire OP @insraq 但是 jquery 这个不是只能用在浏览器操作 dom 之类的操作么。。。CommonJS 不涉及这个吧?。。。那为什么要弄成 module?
|
7
insraq 2013-05-26 17:59:38 +08:00 1
jQuery可以用在node.js上的 http://blog.jquery.com/2013/04/09/jquery-2-0-beta-3-released/
CommonJS只是一个module的组织方法,虽然不像AMD针对browser做了优化,但是也不是不可以用在browser中的,当然最主要还是用在node.js中。 |
8
tangzx 2013-05-26 20:36:35 +08:00 via iPhone 1
function(){ }).call(this) 的意思是函数里面的this和外面的this(window)为同一个东西
|
9
tangzx 2013-05-26 20:39:19 +08:00 via iPhone 1
官方原版的jQuery会同时绑定window.jQuery和局部变量jQuery,所以this.jQuery和直接jQuery效果一样
|
10
tangzx 2013-05-26 20:40:47 +08:00 via iPhone 1
地铁&&手机上敲代码敲代码我容易么我
|
12
tangzx 2013-05-26 23:01:15 +08:00 1
@icexfire 这个确实是俺搞错了,你可以在firebug或者chromedev控制台里试一试window.a=1,然后直接调用a就能出1了,所以应该不是同时绑定,而是”就是一个东西“
|
13
tangzx 2013-05-26 23:02:26 +08:00 1
(function($=this.jQuery;){ }).call(this) //正确
(function($=this.jQuery;){ })() //错误,$会为undefined |
14
chuangbo 2013-05-27 00:54:05 +08:00 via iPad 1
以楼主现在的 JS 程度,不需要纠结在这个细节上,先模仿吧。
|