DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 關於js原型的面試題講解
關於js原型的面試題講解
編輯:JavaScript基礎知識     

今天遇到關於javascript原型的一道面試題,現分析下:

原題如下:

function A(){
}
function B(a){
  this.a = a;
}
function C(a){
  if(a){
this.a = a;
  }
}
A.prototype.a = 1;
B.prototype.a = 1;
C.prototype.a = 1;
 
console.log(new A().a);
console.log(new B().a);
console.log(new C(2).a);

分析:

console.log(new A().a);  //new A()為構造函數創建的對象,本身沒有a屬性,所以向它的原型去找,發現原型的a屬性的屬性值為1,故該輸出值為1;

console.log(new B().a);  //new B()為構造函數創建的對象,該構造函數有參數a,但該對象沒有傳參,故該輸出值為undefined;

console.log(new C(2).a);  //new C()為構造函數創建的對象,該構造函數有參數a,且傳的實參為2,執行函數內部,發現if為真,執行this.a = 2,故屬性a的值為2;

故這三個的輸出值分別為:1、undefined、2.  

以上就是小編為大家帶來的關於js原型的面試題講解的全部內容了,希望對大家有所幫助,多多支持~

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved