一、举例
var Point = function(x,y) {
this.x = x;
this.y = y;
this.sum = function() {
return this.x + this.y;
}
}
调用方式为:
var point = new Point(1,2);
var result = point.sum();
console.log(result);
此时的方法上面必须有this关键字,否则调用point.sum()会报错,提示point.sum() is not a function。同时,上面的构造函数也不能写在匿名函数块中,如:
$(function(){
var Point = function(x,y) {
this.x = x;
this.y = y;
sum = function() {
return this.x + this.y;
}
}
var point = new Point(1,2);
var result = point.sum();
console.log(result);
});
测试的代码只能在函数块中,如果在页面或者其他的js文件中:
<script type="text/javascript">
var point = new Point(1,2);
var result = point.sum();
console.log(result);
</script>
会提示:Point not defined,注意js的作用域。