学习资料
入门:
小白篇 http://samsungapps.csdn.net/text.html?arcid=311044
了解了 npm,类似于python的easy_install 把依赖的模块安装到node.js默认的lib目录中(其实大部分就是copy)
进阶:
进阶篇 http://archive.cnblogs.com/a/2127237/
把the node beginner book 读一遍会对事件模型 函数参数传递有个大概了解
深入:
http://www.cnblogs.com/phphuaibei/archive/2011/09/03/2165437.html
eclipse js 插件
下载地址: http://download.macromedia.com/pub/labs/jseclipse/autoinstall
js的prototype使用:
一个常用的方法(小白如我看到很惊奇):
var Closure = function(){}
Closure.prototype={
hello:function(){
console.log("hello world")
}
}
c = new Closure()
c.hello()
所有的对象都可以有prototypes, prototypes自己也是对象,那么他也可以有prototypes,这样循环下去就形成了一个prototype链,
这个链当他遇到链中队形的prototype是null时中止。(Object的默认的prototype是null)
js closure
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
return that.name;
};
}
};
alert(object.getNameFunc()())
); //”My Object”
默认的this是windows 会使用全局name,需要在闭包中使用当前object的属性name
js小知识:
- var 定义变量和不带var的区别:会导致分不清全局和局部变量,局部变量应用var声明,最好全用var声明。
- 闭包带出包含函数的作用域,会多占内存,非必须尽量少用
-
setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。