前端面試題 js實現LazyMan

2021-09-22 01:50:42 字數 1357 閱讀 9903

實現乙個lazyman,可以按照以下方式呼叫:

lazyman(「hank」)輸出:

hi! this is hank!

lazyman(「hank」).sleep(10).eat(「dinner」)輸出

hi! this is hank!

//等待10秒…

wake up after 10

eat dinner~

lazyman(「hank」).eat(「dinner」).eat(「supper」)輸出

hi this is hank!

eat dinner~

eat supper~

lazyman(「hank」).sleepfirst(5).eat(「supper」)輸出

//等待5秒

wake up after 5

hi this is hank!

eat supper

以此類推。

方法實現

(function(window, undefined),

args = array.prototype.slice.call(arguments);

if( args,length < 1 )

param.msg = args[0]; //訊息名

param.args = args.slice(1);

if( param.msg == "sleepfirst" )else

//發布方法

function publish()

}// 實現lazyman的類

function lazyman(){};

lazyman.prototype.eat = function ( str )

lazyman.prototype.sleep = function (num)

lazyman.prototype.sleepfirst = function (num)

// 輸出log包裝方法

function lazymanlog (str)

// 具體執行

function lazyman(str)

function eat(str)

function sleep(num), num*1000)

}function sleepfirst(num) ,num)

}// 執行run方法

function run(option)

}//暴露介面給window

window.lazyman = function(str),0)

return new lazyman();

}}}(window))

Js前端面試題

1.判斷js型別的方法 1 typof 2 可以判斷出 string boolean undefiend number 3 但是判斷typeof null 時值為object 判斷物件陣列的時候也是object object.prototype.tostring.call 可以判斷出所有型別 arr...

前端面試題 Js

1.原型 原型鏈 建構函式 例項 繼承 原型 proto 原型物件 prototype 用作建構函式中有prototype 原型物件 例項中有 proto 2.有幾種方式可以實現繼承 原型繼承,構造繼承,例項繼承,拷貝繼承,組合繼承,寄生組合繼承,class繼承 3.用原型實現繼承有什麼缺點,如何解...

array 前端面試題 JS陣列的前端面試題

關於陣列的前端面試題 如何判斷乙個變數是否為陣列?為什麼不用 typeof var list 1,2,3 typeof list object array 繼承與object 所以typeof 會直接返回 object 所以不可以用 typeof 方法來檢測 為什麼不用 instanceof?var...