解題:在下面畫線的地方填任何代碼,使得最終輸出 'hello world',至少寫五個不一樣思路的方案

今天(已經好些天前了...),羣裏面(JS前端開發跳板6羣【81501322】)有個羣友問了這樣一個問題。前端

如題:在下面畫線的地方填任何代碼,使得最終輸出 'hello world',至少寫五個不一樣思路的方案 異步

hello world

看到這個題,個人心裏是崩潰的,這什麼鬼?函數

不一會就看到有大神給出了幾個答案.3d

本身的思想也會被開竅的。code

細心的童鞋有沒有看到問題??console.log 的結果並非題目給出的 'hello world' ,而是 'hello' 'world'。(固然,以我當時懵逼人臉神是發現不了的)cdn

隨後,一位大神給出了大案。blog

解析:經過自執行函數直接輸出'hello world',而後拋出一個異常,程序報錯,後面的代碼再也不解析執行,雖然報錯了,可是很好的達到想要的結果隊列

看到這裏,個人思路就來了(羣衆的力量是偉大的,特別是一羣有相同愛好的,熱心幫助的羣衆【詞窮了,該多讀點書了】)ip

細心研究發現,這道題目能夠從語句執行順序、重寫 console.log 的這個方法來下手(目前就這兩種了)開發

解析:經過重寫console.log方法,來達到效果。可能有些童鞋有點懵逼了,這是啥東西,不要急,你要知道的是這個知識點《逗號運算符》

解析:經過定義一個隊列,重寫 console.log 方法向隊列中添加元素而後異步輸出。這裏須要注意的是 if 中是一個自執行表達式,若是不顯式 return 一個值的話,它的值是 undefined

解析:經過添加其餘的 if 語句來改變輸出結果

解析:經過改寫 console.log 函數來確保輸出值永遠是固定值

看了答案後再看題目,感受也不太難,這些語法都可以寫的出來,可是剛看到題目的瞬間仍是無從下手,仍是要多練多加深印象

相關文章
相關標籤/搜索