js编程中遇到的问题
A.http://www.cnblogs.com/vilyLei/archive/2012/03/03/2378182.html
B.
4. 如果js的一个类中, 没有用定义变量的时候, 忘记写 var
例如:
function MovieClip(){
var totFrames = 0;
name = "mc";
};
那么这个类中的 name 在创建多个实例的时候就会变为全局变量,这时候就有问题了。
5.一个 js对象 this 关键字 的使用注意:
js对象没有 this 硬性绑定, 所以对于一个方法(函数)而言, 其隶属余谁, 其内部所使用的this 就指向谁。
不会唯一的指向方法初始定义位置的 this 所表示的对象
例如: function Ship(){
this.name = "ship";
this.getName = function(){
return this.name;
};
};
function Car(){
this.name = "car";
};
创建对象:
var ship = new Ship();
var car = new Car();
如果这么做: car.getName = ship.getName
那么这时候调用: var ns = ship.getName();
ns 的值是 "car" 而不是 "ship"
所以再写类似于这样使用方式(例如回调函数)的方法的时候,要注意这一点。
如果想要 方法内 严格访问到这个方法原来定义时候所在的对象,要这么写:
function Ship(){
this.name = "ship";
var _this = this;
this.getName = function(){
return _this.name;
};
};

浙公网安备 33010602011771号