Js構造函數添加方法有多種方案,來看一個混合方式構造函數的例子:申明person構造函數,有兩個屬性,name,qq。在原型上添加方法showname。這是最常用的方法。
<script> function person(name,qq){ this.name = name; this.qq = qq; } person.prototype.showname = function(){//這里showname即使方法的引用也是方法名,有點奇怪 alert("我的名字:"+this.name); } var p1 = new person("張三",11111); var p2 = new person("李四",22222); p1.showname(); //alert(p1.showname == p2.showname );//true </script>
上面的例子中showname 我的理解是:這里showname既是方法的引用也是方法名。
Showname除了這種寫法,還可以有以下兩種方法,最后一種封裝的更好:
//第二種 person.prototype = { showname: function(){ alert('我的名字'+this.name) } } //第三種 person.prototype = function(){ showname = function(){alert('我的名字:'+this.name)} return { showname: showname} }()
加上上面例子中的方法,總共3種寫法,這三種寫法本質都是為person構造函數的原型添加一個showname的方法。細細體會。