1. 程式人生 > 其它 >2015.12.30 HTML5真題練習

2015.12.30 HTML5真題練習

HTML5學堂:每天一道題,強壯程式設計師!今日主要涉及函式與引數的12.29日題目的解答,以及一道簡單的作用域的題目。

HTML5真題【2015.12.29】答案解析

12.29日真題題目如下,最終輸出的結果是多少?

<script>
        function test() {
            var i = 0;
            if (typeof null == "object") {
                var j = 0;
                for(var k = 0; k < 10; k++) {
                    console.log(k);
                }
                console.log(k);
            }
            console.log(j);
        } 
        test();
</script>

k = 0、1、2、3、4、5、6、7、8、9; k = 10; j = 0。

上述的程式碼中,在不同的位置都定義了變數i、j和k,它們都在同一個作用域內——這三個變數在函式體內也都有定義。其中 i 在整個函式內均是有定義的;j在函式內有定義,還是在if語句裡面的定義;k在函式體內定義,且還在for迴圈內有定義。/p>

由於物件、陣列和null在typeof的轉換下都是“object”,所以if語句為真,執行if裡面的程式碼塊;進而得出第一個k的值是0-9;第二個k已經定義,輸出10;最後j已經被定義,輸出的值為0;

相關知識連結:JavaScript講解 - 函式與引數

接下來我們再來一題簡單的作用域的題目吧——>

HTML5真題【2015.12.30】題目

<script>
       var str = "h5course";
           function test() {
               console.log(str);
               var str = "HTML5學堂";
               console.log(str);
        }
        test();  
</script>

關於每日程式碼練習題的答案和解析,我們會在明日文章當中,釋出相關答案以及基本原理。