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>

关于每日代码练习题的答案和解析,我们会在明日文章当中,发布相关答案以及基本原理。

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2015-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏测试开发架构之路

c++之函数重载(函数匹配)

Case void f(); void f(int); void f(int, int); void f(double, double = 3.14); 匹配原...

2585
来自专栏技术小讲堂

使用Unity创建依赖注入依赖注入生命周期:注册、解析、销毁   注册解析销毁

这篇文章翻译自《Dependency Injection With Unity》第三章。文中提到的类似“前几节”的内容您不必在意,相信您可以看懂的。 P.S:如...

3386
来自专栏linux驱动个人学习

链接器做了什么?

摘自《程序员自我修养》 ---- 机器指令的历史 为了更好的理解计算机程序的编译和链接的过程,我们简单地回顾计算机程序开发的历史一定会非常有益。 最原始的设备...

3456
来自专栏LanceToBigData

XML(一)XML大揭秘

前言 每天都要学习很多新的知识,比你厉害的程序员比你还努力,那你混的下这口饭吗?所以不抱怨,坚持!接下来给大家分享的是xml。可能很多做开发的都遇到过xml, ...

1739
来自专栏HTML5学堂

2016.01.05 HTML5真题练习

HTML5学堂:每天一道题,强壮程序员!今日主要涉及01.04日关于Date对象的题目解答,以及一道涉及数组转换成字符串操作的题目。 HTML5真题【2016....

2625
来自专栏小樱的经验随笔

【Java学习笔记之三十一】详解Java8 lambda表达式

Java 8 发布日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动。特性之一便是随同发布的lambda表达式,它将允许...

3065
来自专栏菜鸟致敬

记一次两小时的js编程学习

1.弱类型语言 2.解释型语言 3.客户端语言 对于有学习Java、C以及Python一类的人来说,最熟悉的莫过于这些都是强类型语言。它们严格的遵守自身的规定,...

552
来自专栏java学习

面试题35(关于局部变量与全局变量的理解?)

下面代码的运行结果是? public class Demon { public static void main(String[] args) { St...

2375
来自专栏木子昭的博客

Django快速分页在后端(视图函数中)在前端(html模板中)

分页 在web开发中,对大量的商品进行分页显示,是常见的需求,django对分页直接提供了现成的函数,让我们的开发更为快速便捷... 动图_Django快...

3299
来自专栏Python小屋

妙用Python内置函数int()快速计算等比数列前n项和

本文要点在于Python内置函数int()的用法,所以计算等比数列前n项和时没有使用数学上的公式Sn=a1*(1-q^n)/(1-q)。 一般遇到这样的问题,很...

3256

扫描关注云+社区