2015.12.18 HTML5真題練習
阿新 • • 發佈:2022-05-04
HTML5學堂:每天一道題,強壯程式設計師!今日主要涉及12.17日關於閉包的題目解答,以及一道涉及字串相關知識的題目。
HTML5真題【2015.12.17】答案解析
12.17真題題目如下,最終輸出的結果是多少?
<script> var fn = function(i){ return function(){ return i++; } }(10); var a = fn(); var b = fn(); console.log(a); console.log(b); </script>
該題目的結果是:10 11。
應該說考察的是閉包的最初“形態”。首先,fn()的結果是fn這個函式的返回值,也就是return後面的內容"function(){return i++;}",在這個函式當中,我們使用了i這個變數,那麼這個變數是從哪裡來的呢?該變數應當是通過引數傳遞進來,也就是10。通過閉包建立了一個臨時的空間,用於儲存i這個值,第一次呼叫的時候,return的是數字10,之後i進行了自增運算。之後再次呼叫時,i已經是11,自然就return了11這個值,之後i依舊是進行了自增運算。
HTML5真題【2015.12.18】題目
<script> var str = 'H5course'; str += str.length; str.author = 'HTML5學堂'; console.log(str.author); </script>
關於每日程式碼練習題的答案和解析,我們會在明日文章當中,釋出相關答案以及基本原理。(PS:週六日不釋出題目)