天天看點

155個JavaScript基礎問題(86-95)

這是我參與更文挑戰的第7天,活動詳情檢視: 更文挑戰

86. 那個選項是将hasName置為true的方法,前提是不能将true作為參數進行傳遞?

function getName(name) {
  const hasName = //
}
      
155個JavaScript基礎問題(86-95)

答:A,對name取!傳回的是布爾值,C項傳回的是一個對象包裝器,B傳回的是name本身,D傳回的是name的長度。

87. 輸出是什麼?

console.log("I want pizza"[0])      
155個JavaScript基礎問題(86-95)

答:B,本題意在告訴我們字元串也是可以通過類似數組下标的方式進行取值的。

88. 輸出什麼?

function sum(num1, num2 = num1) {
  console.log(num1 + num2)
}
sum(10)      
155個JavaScript基礎問題(86-95)

答:B,本題考查的是函數的預設傳參,在本題的情況下,如果隻傳一個參數,第二個參數預設是第一個參數的值。

89. 輸出什麼?

// module.js 
export default () => "Hello world"
export const name = "Lydia"
// index.js 
import * as data from "./module"
console.log(data)      
155個JavaScript基礎問題(86-95)

答:A,本題意在考查import * as的用法,通過這種用法,會将module.js檔案中的所有暴露導入到index.js中的data對象中,是以選A,下面是測試截圖。

155個JavaScript基礎問題(86-95)

90. 輸出什麼?

class Person {
  constructor(name) {
    this.name = name
  }
}
const member = new Person("John")
console.log(typeof member)      
155個JavaScript基礎問題(86-95)

答:C,Person類的執行個體對象屬于object。

91. 輸出什麼?

let newList = [1, 2, 3].push(4)
console.log(newList.push(5))      
155個JavaScript基礎問題(86-95)

答:D,本題意在考查push方法的傳回值,我們要知道傳回的并不是一個新數組而是新數組的長度,是以給一個數字添加元素,是要報錯的,是以選D。

92. 輸出什麼?

function giveLydiaPizza() {
  return "Here is pizza!"
}
const giveLydiaChocolate = () => "Here's chocolate... now go hit the gym already."
console.log(giveLydiaPizza.prototype)
console.log(giveLydiaChocolate.prototype)      
155個JavaScript基礎問題(86-95)

答:D,正常函數有prototype屬性,但是箭頭函數沒有這個屬性,是以選D,下面是codepen的測試截圖:

155個JavaScript基礎問題(86-95)

93. 輸出什麼?

const person = {
  name: "Lydia",
  age: 21
}
for (const [x, y] of Object.entries(person)) {
  console.log(x, y)
}      
155個JavaScript基礎問題(86-95)

答:A,本題意在考查Object.entries這個API的用法,這個API将對象鍵值對存入一個二維數組,具體解釋請看下圖:

155個JavaScript基礎問題(86-95)

94. 輸出什麼?

function getItems(fruitList, ...args, favoriteFruit) {
  return [...fruitList, ...args, favoriteFruit]
}
getItems(["banana", "apple"], "pear", "orange")      
155個JavaScript基礎問題(86-95)

答:D,本題意在考查我們對拓展運算符的了解,這裡的拓展運算符必須放在最後一個參數,不然會報錯。

155個JavaScript基礎問題(86-95)

95. 輸出什麼?

function nums(a, b) {
  if
  (a > b)
  console.log('a is bigger')
  else 
  console.log('b is bigger')
  return 
  a + b
}
console.log(nums(4, 2))
console.log(nums(1, 2))      
155個JavaScript基礎問題(86-95)

答:B,這道題有點坑,主要是JS在編譯的時候會自動給return後面加個分号,是以永遠通路不到a+b,是以選B。

題目來源

github.com/lydiahallie…

繼續閱讀