javascript 定義物件、方法和屬性的使用方法(prototype)
阿新 • • 發佈:2018-11-01
prototype
定義和用法
prototype 屬性使您有能力向物件新增屬性和方法。
語法
object.prototype = {
函式名 : function(){}
}
object.prototype.name=value
javaScript的中類和物件
定義類
例1: //第一種定義方式 var people = function(name){ this.name = name; this.say = function(msg){ alert(this.name + " say : "
//定義靜態方法,接例1 people.says = function(msg){ alert(this.name + " say : " +msg); } people.aa = "aa"
定義物件,呼叫時使用
物件.方法
或者和java
呼叫map的方式一樣物件['方法名'](args)
例2: //定義物件 var people = { run : function(){ alert("I can run"); } }; //呼叫 people.run();//輸出 I can run people['run']();//同上
- 以上兩種方式不能同時使用
Javascript的方法可以分為三類
- 類方法,如例1
- 物件方法,如例2
原型方法,
prototype
例3: //定義類 var people = function(name){ this.name = name; } //原型方法 people.prototype = { introduceChinese : function(){ alert(this.people +"的名字是"+this.name); } people; }; //測試 var p1=new people("Windking"); p1.people = '誰'; p1.IntroduceChinese();
總結:
- javaScript建立物件就是定義函式
javaScript物件定義方法和屬性有三種方式
- 在函式內部定義方法和屬性,類似java的定義,如例1
- 使用函式名.prototype定義方法和屬性,例3
- 使用物件定義方法和屬性
使用prototype定義屬性時,要放在定義方法的後面,不然屬性會是
undefined
- 使用javascript定義屬性,不像java那麼嚴謹,在例項經物件後,也可以定義屬性
- 使用prototype和函式內部定義方法和屬性,其作用是一樣的,都需要例項化函式後才可使用
- 直接使用函式名定義方法和屬性,類似java的靜態該當和變數,如:
function scriptBean(){}
//定義方法
scriptBean.sayHello = function(msg){
console.log(this.name + " say : " +msg);
}
//定義屬性
scriptBean.name = "scriptBean";
//呼叫
scriptBean.sayHello("hello");