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

2015.12.10 HTML5真題練習

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:週六日不釋出題目)