如何用Javascript寫乙個Class?

2021-09-24 19:32:37 字數 1750 閱讀 3717

記得前面某次面試被問到此問題,一直以來因為對js的不重視+一知半解,所以當時就懵了~

最近google了下,找到以下幾種寫class的方式:

1 js因為不是oo語言,所以沒有class的概念,都是通過prototype的方式實現的。

var namedclass = class.create(
getname: function()
});
var instance = new namedclass('foobar');

2 也可以這樣寫

function myclass()
myclass.prototype.afunction()
var instance = new myclass();
instance.afunction();

3 帶屬性和方法的class

function myclass ()
}
//create an instance
var oclass = new myclass();
//run a private member function
oclass.privatefunction();   //private function is undefined
//get a private member var
alert( oclass.privatevar );   //private

varis undefined

4 帶靜態變數和靜態方法的class:

function myclass ()
//declare a static member
myclass.staticvar = "my static variable";
//declare a static function
myclass.staticfunction = function ( pinput )
//create an instance
var oclass = new myclass();
//run a static function (no access to private or public)
oclass.staticfunction( 9 );  //staticfunction is undefined on an instance
//run a privileged member function on the class
myclass.privilegedfunction();   //the function runs

5 帶特權(privileged)變數和方法的class:

function myclass ()
}
//create an instance
var oclass = new myclass();
//run a privileged member function
oclass.privilegedfunction();   //output: alerts the value of the private var

如何用vuetify寫表單

菜鳥本人最近在用vuetify寫登入註冊頁面,這個ui強大但是難用,很難自己調整到滿意的程度。我琢磨了好久,寫出了乙個粗糙的註冊頁面 clear both mx auto my 16 max width 600 min width 300 shaped mx auto my 16 ref form ...

如何用javascript動態修改css檔案

有乙個css檔案 abc.css 內容如下 class1 要動態查詢到這個類並修改裡面的屬性.我找到的操作方法是使用dom的stylesheets集合。先在頁面加上 然後呼叫document.stylesheets 0 得到這個css檔案的引用,再根據一些子屬性可以定位到這個 class1 但怎麼把...

如何用C 寫乙個類

其實寫乙個類很簡單,但是要寫乙個符合各方面要求的類,卻不是一件容易的事情。下面總結一下需要考慮的一些問題,先把暫時想到的方面記下來,以後想到新的在增加吧。類的生死和初始化 1.copy ctor和copy assignment是不是需要private 單例常用 或者是不是要用private繼承來阻止...