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

2015.11.30 HTML5真題練習

HTML5學堂:每天一道題,強壯程式設計師!今日主要涉及昨日題目的解答,以及一道涉及函式的形參實參、arguments物件的題目

HTML5真題【2015.11.29】答案解析

昨日真題題目如下,問的是result和username,分別是多少?

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5學堂 - H5course</title>
<meta name="viewport" content="width=device-width,user-scalable=no">
<link rel="stylesheet" href="model/css/reset.css">
</head>
<body>
<div class="wrap"></div>
<script>
  var username = 'HTML5學堂';
  var result = '返回結果';
  function joinIt(result) {
      result = result + 'http://www.h5course.com';
  }
  username = joinIt(username);
  console.log(result);
  console.log(username);
</script>
</body>
</html>

本題目的答案是:result結果依舊是'返回結果',而username結果為undefined。

答案解析:本題目主要涉及作用域和函式返回值的問題。

關於result:首先,我們在全域性中定義了一個result變數。其次,在函式當中,我們使用了形參,形參名也是result,由於函式是一個區域性作用域,所以,形參的result相當於是在區域性作用域當中建立了一個空間,用於儲存result。

區域性作用域中的result與全域性中的result是不同的兩個。在作用域的概念當中,全域性是不能訪問區域性的,換句話說,區域性內容的變化是不會影響到全域性變數的。在這個效果當中,無論函式中的result如何變化,都不會影響到全域性下的result,因此,result值為'返回結果'。

關於username:在程式碼當中,我們將一個函式的執行結果賦值給了username。此處需要注意的是,函式的執行結果是函式的返回值,也就是return的內容,當一個函式沒有書寫return,返回內容時,預設返回的是undefined。

相關知識:return語句的用法(函式的返回值)

HTML5真題【2015.11.30】題目

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5學堂 - H5course</title>
<meta name="viewport" content="width=device-width,user-scalable=no">
<link rel="stylesheet" href="model/css/reset.css">
</head>
<body>
<div class="wrap"></div>
<script>
  function changeName(oldNum, newNum){
      newNum = 5;
      console.log(arguments.length * oldNum + arguments.callee.length * arguments[1]);
  }
  changeName('12');
</script>
</body>
</html>

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