2015.12.10 HTML5真題練習
阿新 • • 發佈:2022-05-04
HTML5學堂:每天一道題,強壯程式設計師!今日主要涉及12.09題目(資料型別)的解答,以及一道涉及函式以及return(返回值)本知識的題目。
HTML5真題【2015.12.09】答案解析
12.09真題題目如下,最終輸出的結果是多少?
<script> var str = '127.5.0'; var result = Number(str); if (result == '127') { console.log('HTML1-HTML5學堂'); } else if (result == '127.5') { console.log('HTML2-HTML5學堂'); } else if (typeof result == 'Number') { console.log('HTML3-HTML5學堂'); } else if (result) { console.log('HTML4-HTML5學堂'); } else if (result = 0) { console.log('HTML5-HTML5學堂'); } else { console.log('HTML6-HTML5學堂'); } </script>
本題目的答案是:HTML6-HTML5學堂。
本題目主要考察資料型別的相關知識。
1 Number方法,用於轉換資料型別,與parseInt不同的是,Number中的變數,一旦不是合法的數字,會直接返回NaN。在本題當中,如果是parseInt,則會返回127,如果是Number則會返回NaN。
2 typeof用於進行資料型別的檢測,返回值為一個字串。NaN的資料型別的確是數字,但是typeof所返回的字串均為小寫,即“number”,在字串的比較當中,是區分大小寫的。
3 第三個考察點,在於對NaN的布林值的考察,當NaN作為一個條件進行判斷時,NaN本身會被判定為false。
4 最後一個考察點就是細心與否了,在新手寫程式碼過程中經常會出現將if語句中的條件表示式書寫成賦值表示式。換句話說,if(result == 0)很容易會被混淆成if(result = 0),此處我也特意使用了賦值符,對於賦值表示式,所返回的結果就是最後的值,換句話說,result = 0;這句程式碼的執行結果就是0。result = 3;這句程式碼執行結果就是3。因此,result = 0;返回值為0, 0在if語句的條件判斷當中,被認為是false,因此只能執行最後的結果,列印結果即為“HTML6-HTML5學堂”。
HTML5真題【2015.12.10】題目
<script>
// 程式碼段1
var x = 1;
function b() {
x = 10;
return;
function x() {
console.log('HTML5學堂');
}
}
b();
console.log(x);
// 程式碼段2
var x = 1;
function b() {
x = 10;
return function x() {
console.log('HTML5學堂');
};
}
b();
console.log(x);
</script>
關於每日程式碼練習題的答案和解析,我們會在明日文章當中,釋出相關答案以及基本原理。(PS:週六日不釋出題目)