1. 程式人生 > >JavaScript基礎練習 -- 第十天

JavaScript基礎練習 -- 第十天

前言:

在本欄中,我將每天更新一些JavaScript基礎練習題。這些習題,大部分是我自己總結的。其中很大一部分是我在學習過程中記下的筆記或者遇到的坑,還有就是很重要很重要的基礎概念,被我轉換為了習題的形式。這部分題目,我覺得非常適合剛入門前端開發的朋友們,希望大家有所收穫,這就足夠咯~~

第十天

正文:

1. 分析下列程式碼段:

var name = "Window";
var object = {
  name:"Object",
  getName:function() {
    return function(){
      return this.name;
    }
  }
}

object.getName=______________________

object.getName()=_______________________

object.getName()()=____________

getName()()=______________

若把getName函式修改成:

getName:function(){
  var that=this;
  return function(){
    return that.name;
  }
}

則getName()()=_____________

2. 請簡述IIFE的作用和宣告方法。

3.分析下列程式碼的執行結果

console.log(a);
console.log(typeof(a));
let a = 1;

第1行的執行結果為____________

第2行的執行結果為_____________

4. 

function foo(x = y,y = 2){
  return x + y;
}

foo( )函式執行後的返回值為____________

5. 

function bar(x = "2",y = +x){
  return x + y;
}

bar( )函式執行後的返回值為___________

6. 分析下列程式碼的執行結果

function bar(x, y){
  let x = x.toUpperCase();
  return x;
}

執行bar("hello","world");的返回值是__________

說明:

  1. 題目中出現的JS指的是採用ECMAScript 2015及之後標準的JavaScript
  2. 題目和答案中,若有錯誤和需完善的地方,請及時給予我反饋哈~~