js中靜態方法和例項方法的呼叫

2021-09-26 14:50:24 字數 1089 閱讀 8519

今天在看date物件的乙個方法時發現了乙個新的知識點,

date.now()

//返回1970-1-1午夜到現在的時間間隔,用毫秒表示

date.parse()

//解析乙個表示某個日期的字串,並返回從1970-1-1 00:00:00 utc 到該日期物件(該日期物件的utc時間)的毫秒數,如果該字串無法識別,或者一些情況下,包含了不合法的日期數值(如:2015-02-31),則返回值為nan。

date.utc()

//根據世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數

以上三個方法都是靜態方法,於是去搜尋了一下靜態方法,下面寫一些自己的理解。

js中有靜態方法和例項方法,靜態方法是函式自己定義的,而例項方法是通過原型來定義。它們的區別是靜態方法是可以直接用類名.方法名去呼叫的,而例項方法是不可以的,它必須要用例項才可以去呼叫。

//定義乙個function

var person=function(){};

//在function內宣告乙個say方法

person.say=function();

//給function的prototype新增乙個getname方法

person.prototype.getname=function(name)

以上**中,say方法是直接定義在function中的,它是乙個靜態方法,可以直接通過person來呼叫,而getname方法是在person的原型中,只有通過person的例項才可以呼叫。

person.say();

//可以執行

person.getname('jerry');

//會報錯,person不能直接呼叫其原型中的方法

var jerry=new person;

jerry.say();

//會報錯,person的例項不能直接呼叫其父類的方法;

jerry.getname('jerry');

//可以執行

總結:靜態方法只能函式自己來呼叫,它的例項物件不能呼叫,而例項方法只能通過它的例項物件來呼叫,它本身不能呼叫。

js中例項方法 靜態方法

person.say function person.say 正常執行 var carl newperson carl.say 報錯我們給person這個類新增了乙個say方法,它在類上面的,所以,它實際上是乙個靜態方法.靜態方法 不能在類的例項上呼叫靜態方法,而應該通過類本身呼叫。類 class ...

js 靜態方法和例項方法

function f function.prototype.b function var f new f typeof f object typeof f function f.af.b function c 靜態方法 function test test.to function res test....

js的靜態方法和例項方法

靜態方法 1.定義乙個類 function aclass 2.給這個類新增乙個靜態方法 直接新增給類的就是靜態方法 aclass.staticmethod function 3.通過類名呼叫靜態方法 aclass.staticmethod 動態方法1.定義乙個類 function bclass 2....