JS中的实例⽅法与静态⽅法
⼀、静态⽅法与实例⽅法的例⼦:
我们先来看⼀个例⼦来看⼀下JS中的静态⽅法和实例⽅法到底是什么
静态⽅法:
function A(){}
A.sayMeS=function(){
console.log("Hello World S!");
}
A.sayMeS();//输出Hello World S!
实例⽅法:
function A(){}
A.prototype.sayMeE=function(){
console.log("Hello World E!");
}
var a=new A();
a.sayMeE();//输出Hello World E!
⼆、⼆者的区别:
从定义上,实例⽅法要⽤到function这个对象中的prototype属性来定义,静态⽅法通过A.直接定义;从⽅法调⽤上,静态⽅法可以直接通过A.来调⽤,实例⽅法要通过先定义⼀个引⽤变量,指向构造函数定义的新对象。
我们之前的博⽂已经讨论过JS对象、构造函数、原型(参看),这⾥加深⼀下理解,我们之前已经说过函数是⼀个对象,函数对象中的属性 prototype可以想成⼀个指针,指向⼀个⽅法(这样不⽤每⼀次⽤构造函数创造⼀个新实例后都要将⽅法重新创建⼀遍)。这样就好理解了,var a是A的⼀个引⽤,也就是指针,a就可以指向sayMeE这个⽅法,如果直接A.sayMeE()是会报错的,因为A不是⼀个指
针,a.sayMeS()也会报错,因为a不是⼀个⽅法对象。
三、再谈继承:
继承举例:
function A(){
}
A.prototype.sayMeE=function(){
console.log("Hello World E!");
}
js方法function B(){
}
B.prototype=new A();//实现了继承
继承就是将B的指针指向A对象,这种形式是⽤A的构造函数来构建对象。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论