age: 21 } B: "name", "age" C: "Lydia", 21 D: ["name", "Lydia"], ["age", 21] 答案: B 在for-in循环中,我们可以通过对象的key...来进行迭代,也就是这里的name和age。...在底层,对象的key都是字符串(如果他们不是Symbol的话)。在每次循环中,我们将item设定为当前遍历到的key.所以一开始,item是name,之后 item输出的则是age。
args); } getAge(21); A: "number" B: "array" C: "object" D: "NaN" 参考答案: C 解析: 扩展运算符(...args )返回一个带参数的数组
for (let i = 1; i < 5; i++) { if (i === 3) continue; console.log(i); } A: 1 ...
null; console.log(members); A: null B: [null] C: [{}] D: [{ name: "Lydia" }] 答案: D 首先我们声明了一个拥有name属性的对象...(注意一点,他们的引用 并不相同!) 接下来我们让person等于null。 我们没有修改数组第一个元素的值,而只是修改了变量person的值,因为元素(复制而来)的引用与person不同。...members的第一个元素仍然保持着对原始对象的引用。当我们输出members数组时,第一个元素会将引用的对象打印出来。
} C: { name: "Lydia", age: 21, city: undefined } D: "Amsterdam" 答案: A 我们将变量city设置为等于person对象上名为city的属性的值...这个对象上没有名为city的属性,因此变量city的值为undefined。 请注意,我们没有引用person对象本身,只是将变量city设置为等于person对象上city属性的当前值。...这不会更改person对象:没有对该对象的引用。 因此打印person对象时,会返回未修改的对象。
使用new时,它指的是我们创建的新空对象。但是,如果你不添加new它指的是全局对象! 我们指定了this.firstName等于'Sarah和this.lastName等于Smith。...我们实际做的是定义global.firstName ='Sarah'和global.lastName ='Smith。 sarah本身的返回值是undefined。
numbers; console.log(y); A: [[1, 2, 3, 4, 5]] B: [1, 2, 3, 4, 5] C: 1 D: [1] 答案: C 我们可以通过解构赋值来解析来自对象的数组或属性的值...,比如说: [a, b] = [1, 2]; a的值现在是1,b的值现在是2.而在题目中,我们是这么做的: [y] = [1, 2, 3, 4, 5]; 也就是说,y等于数组的第一个值就是数字1.我们输出
" console.log(name()) A: SyntaxError B: ReferenceError C: TypeError D: undefined 答案: C 变量name保存字符串的值...但它是一个字符串,因此抛出TypeError:name is not a function 当你编写了一些非有效的JavaScript时,会抛出语法错误,例如当你把return这个词写成retrun时。...当JavaScript无法找到您尝试访问的值的引用时,抛出ReferenceErrors。
Person.prototype.getFullName = function () { return `${this.firstName} ${this.lastName}`; } 这样会使member.getFullName()是可用的,...为什么样做是对的?...这会浪费大量内存空间,因为它们仍然具有该属性,这占用了每个实例的内存空间。相反,如果我们只将它添加到原型中,我们只需将它放在内存中的一个位置,但它们都可以访问它!
const sum = eval("10*10+5"); A: 105 B: "105" C: TypeError D: "10*10+5" 答案: A eval会为字符串传递的代码求值。
Mara","Woof I am Mara" C: "Woof I am Mara", undefined D: TypeError, TypeError 答案: A 我们可以用delete关键字删除对象的属性...,对原型也是适用的。...删除了原型的属性后,该属性在原型链上就不可用了。在本例中,函数bark在执行了delete Dog.prototype.bark后不可用, 然而后面的代码还在调用它。...当我们尝试调用一个不存在的函数时TypeError异常会被抛出。在本例中就是 TypeError: pet.bark is not a function,因为pet.bark是undefined.
num1的值是10, 因为increaseNumber函数首先返回num的值,也就是10,随后再进行 num的累加。...num2是10因为我们将 num1传入increasePassedNumber. number等于10(num1的值。同样道理,++ 先返回 操作值, 再累加 操作值。)
console.log(newList.push(5)); A: [1,2,3,4,5] B: [1,2,3,5] C: [1,2,3,4] D: Error 参考答案: D 解析: .push()方法返回数组的长度...,而不是数组的本身。
(acc) (累计器) Current Value (cur) (当前值) Current Index (idx) (当前索引) Source Array (src) (源数组) reducer 函数的返回值将会分配给累计器...,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。...reducer 函数还有一个可选参数initialValue, 该参数将作为第一次调用回调函数时的第一个参数的值。如果没有提供initialValue,则将使用数组中的第一个元素。...在上述例子,reduce方法接收的第一个参数(Accumulator)是x, 第二个参数(Current Value)是y。...例子中我们的回调函数没有返回任何值,只是打印累加器的值和当前值。如果函数没有返回值,则默认返回undefined。
"health"]" D: "{"username": "lydiahallie", "level":19, "health":90}" 参考答案: A 解析: JSON.stringify 的第二个参数是替代者...如果替代者(replacer)是个数组,那么就只有包含在数组中的属性将会被转化为字符串。在本例中,只有名为'level'和'health'的属性被包括进来,'username'则被排除在外。...data就等于 "{"level":19, "health":90}" 而如果替代者(replacer)是个函数,这个函数将被对象的每个属性都调用一遍。...函数返回的值会成为这个属性的值,最终体现在转化后的 JSON 字符串中(译者注: Chrome 下,经过实验,如果所有属性均返回同一个值的时候有异常,会直接将返回值作为结果输出而不会输出 JSON 字符串
使用“use strict”,可以确保不会意外地声明全局变量。我们从未声明变量age,因为我们使用`use strict',它会引发一个ReferenceErr...
A: ['', '', '', ''] B: ['', '', '', ''] C: ['', '', '', '', ''] D: ReferenceError 答案: A 我们将info对象上的favoriteFood...属性的值设置为披萨表情符号 “” 的字符串。...在 JavaScript 中,原始数据类型通过值起作用 在这种情况下,我们将info对象上的favoriteFood属性的值设置为等于food数组中的第一个元素的值,字符串为披萨表情符号('' )。...字符串是原始数据类型,并且通过值进行交互,我们更改info对象上favoriteFood属性的值。...food 数组没有改变,因为 favoriteFood 的值只是该数组中第一个元素的值的复制,并且与该元素上的元素没有相同的内存引用食物[0]。
name: "Lydia", age: 21 } C: { admin: true, user: ["Lydia", 21] } D: { admin: true } 答案: B 扩展运算符...为对象的组合提供了可能...你可以复制对象中的键值对,然后把它们加到另一个对象里去。在本例中,我们复制了user对象键值对,然后把它们加入到admin对象中。
{Symbol('a')"] B: {} and [] C: { a: "b" } and ["a"] D: {Symbol('a'): 'b'} and [] 答案: D Symbol类型是不可枚举的。...Object.keys方法返回对象上的所有可枚举的键属性。Symbol类型是不可见的,并返回一个空数组。记录整个对象时,所有属性都是可见的,甚至是不可枚举的属性。...这是Symbol的众多特性之一:除了表示完全唯一的值(防止对象意外名称冲突,例如当使用2个想要向同一对象添加属性的库时),您还可以隐藏这种方式对象的属性(尽管不完全。
banana"]); console.log(result); A: ['apple', 'banana'] B: 2 C: true D: undefined 答案: B push()方法返回新数组的长度
领取专属 10元无门槛券
手把手带您无忧上云