Javascript每日一题

2021-07-23 11:55 Javascript每日一题

输出是什么?

var name = 'Hello';(function() {  if (typeof name === 'undefined') {    var name = 'Great'    console.log(`${name} World!`)  } else {    console.log(`${name} TT!`)  }})()



单 选

•  A'Hello World!'•  B: 'Great World!'•  C: 'Hello TT!'•  D: 'Great TT!'




图片




图片

答案

图片





答案: B


变量提升,要注意变量提升,上面函数也可以这样写

var name = 'Hello';(function() {  var name // 变量提升至顶部  if (typeof name === 'undefined') { // typeof 优先级高于 ===    name = 'Great'    console.log(`${name} World!`)  } else {    console.log(`${name} TT!`)  }})()

扩展题,请判断下面函数输出什么(答案在文末)

// 1、输出: ???var str = 'Hello';(function(name{  if (typeof name === 'undefined') {    var name = 'Great'    console.log(`${name} World!`)  } else {    console.log(`${name} TT!`)  }})(str)
// 2、输出: ???var name = ' World!';(function ({  if (typeof name === 'undefined') {      var second = ' World!'      console.log('Goodbye ' + second)  } else {      console.log('Hello' + name)  }})()
// 3、输出: ???let name = 'World!';(function () {  if (typeof name === 'undefined') {      let name = ' World!'      console.log('Goodbye' + second)  } else {      console.log('Hello ' + name)  }})()



扩展题答案:


    题1:'Hello TT!'

    题2:'Hello World!'

    题3:'Hello World!'



2021/07/23
本文章转载自公众号:javascript_daily

首页 - Javascript 相关的更多文章: