var arrServerPoint = new Array(new ServerPoint());//ServerPoint为一对象类型;
var sp = arrServerPoint[0];
var sp2 = new ServerPoint();
----问题:sp2实例可以访问到ServerPoint的内部方法,而sp实例无法访问到SerberPoint内部方法。为什么呢?----
----ServerPoint类的构造函数如下----*
function ServerPoint(sPoint, sRadius) {
this.sPoint = sPoint;
this.sRadius = sRadius;
}
ServerPoint.prototype = {
constructor: ServerPoint,
setPoint: function (setPoint) {
this.sPoint = setPoint;
},
getPoint: function () {
return this.sPoint;
},
setRadius: function (setRadius) {
this.sRadius = setRadius;
},
getRadius: function () {
return this.sRadius;
},
}
console.log(sp);
//浏览器返回为
console.log(sp2);
//浏览器返回为
----问题已解决。其实本身我的问题就有点错误。按问题中的源码应该是两个都不会访问到方法。
问题中sp,sp2的console.log内容是我直接在我自己项目里测试的结果。我项目中sp2的赋值语句有一个click事件函数包裹。所以才导致sp,sp2的console.log内容不一致。在此产生了困扰。得到了教训,以后应该将问题代码拿出来研究,而不是在项目内。在此感谢kikong,zonxin大大----
//函数声明会被提前,但是赋值语句不会,还是停留在与原来位置