René's URL Explorer Experiment


Title: ES6系列40道基础题 · Issue #38 · Geek-James/Blog · GitHub

Open Graph Title: ES6系列40道基础题 · Issue #38 · Geek-James/Blog

X Title: ES6系列40道基础题 · Issue #38 · Geek-James/Blog

Description: 1.下面不属于ECMAScript规范的范围的是:( ) A、数据类型 B、语法 C、DOM事件 D、内置对象和函数的标准库 答案 答案:C 解析:DOM事件不属于ECMAScript的部分;ECMAScript定义的内容:语法、类型、原型和继承、内置对象和函数的标准库。 考点: ECMAScript定义规范的理解,来自《第一节:什么是ES6?新手该如何理解》的内容。 2.下面不属于关键字let的特点的是:( ) A、只在 let 命令所在的代码块内有效 B、会产生变量...

Open Graph Description: 1.下面不属于ECMAScript规范的范围的是:( ) A、数据类型 B、语法 C、DOM事件 D、内置对象和函数的标准库 答案 答案:C 解析:DOM事件不属于ECMAScript的部分;ECMAScript定义的内容:语法、类型、原型和继承、内置对象和函数的标准库。 考点: ECMAScript定义规范的理解,来自《第一节:什么是ES6?新手该如何理解》的内容。 2.下面不属于关键字l...

X Description: 1.下面不属于ECMAScript规范的范围的是:( ) A、数据类型 B、语法 C、DOM事件 D、内置对象和函数的标准库 答案 答案:C 解析:DOM事件不属于ECMAScript的部分;ECMAScript定义的内容:语法、类型、原型和继承、内置对象和函数的标准库。 考点: ECMAScript定义规范的理解,来自《第一节:什么是ES6?新手该如何理解》的内容。 2.下面不属于关键字l...

Opengraph URL: https://github.com/Geek-James/Blog/issues/38

X: @github

direct link

Domain: patch-diff.githubusercontent.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"ES6系列40道基础题","articleBody":"1.下面不属于ECMAScript规范的范围的是:( )\r\n\r\nA、数据类型\u003cbr\u003e\r\nB、语法\u003cbr\u003e\r\nC、DOM事件\u003cbr\u003e\r\nD、内置对象和函数的标准库\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C \r\n解析:DOM事件不属于ECMAScript的部分;ECMAScript定义的内容:语法、类型、原型和继承、内置对象和函数的标准库。\r\n考点: ECMAScript定义规范的理解,来自《第一节:什么是ES6?新手该如何理解》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n2.下面不属于关键字let的特点的是:( )\r\n\r\nA、只在 let 命令所在的代码块内有效\u003cbr\u003e\r\nB、会产生变量提升现象\u003cbr\u003e\r\nC、同一个作用域,不能重复声明同一个变量\u003cbr\u003e\r\nD、不能在函数内部重新声明参数\u003cbr\u003e\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:使用var关键字才会产生变量提升的现象。关键字let不会产生变量提升现象,所以必须先声明定义后使用,否则程序抛出异常。\r\n考点:关键字let的使用注意事项,来自《第二节:ES6新增了let关键字,干嘛用的?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n3.关于关键字const,下列说法错误的是:()\r\n\r\nA、用于声明常量,声明后不可修改\u003cbr\u003e\r\nB、不会发生变量提升现象\u003cbr\u003e\r\nC、不能重复声明同一个变量\u003cbr\u003e\r\nD、可以先声明,不赋值。\u003cbr\u003e\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:声明后必须赋值,否则程序会抛出异常。\r\n考点:关键字const的使用注意事项,来自 《第三节:ES6中另一个不得不说的关键字const》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n4.在数组的解构赋值中,var [ a,b,c ] = [ 1,2 ]结果中,a、b、c的值分别是:()\r\n\r\nA、1  2  null\u003cbr\u003e\r\nB、1  2  undefined\u003cbr\u003e\r\nC、1  2  2\u003cbr\u003e\r\nD、抛出异常\u003cbr\u003e\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:在解构赋值过程中,赋值不成功,变量的值会变成undefined,不会抛出异常。\r\n考点:数组的结构赋值使用注意事项。来自 《第五节:一个令人兴奋的ES6新特性:解构赋值》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n5.在对象的解构赋值中,var {a,b,c} = { “c”:10, ”b”:9, ”a”:8 } 结果中,a、b、c的值分别是:()\r\n\r\nA、10  9  8\u003cbr\u003e\r\nB、8  9  10\u003cbr\u003e\r\nC、undefined  9  undefined\u003cbr\u003e\r\nD、null  9  null\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:对象的解构赋值不会受到属性的排列次序影响。\r\n考点:对象解构赋值和数组解构赋值的区别。来自 《第五节:一个令人兴奋的ES6新特性:解构赋值》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n6.关于模板字符串,下列说法不正确的是:()\r\n\r\nA、使用反引号标识\u003cbr\u003e\r\nB、插入变量的时候使用${ }\u003cbr\u003e\r\nC、所有的空格和缩进都会被保留在输出中\u003cbr\u003e\r\nD、${ }中的表达式不能是函数的调用\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:${ }中可以放任意的JavaScript表达式,包括运算表达式、对象属性、函数调用等。\r\n考点:模板字符串的特点。来自《第六节:ES6为字符串String带来哪些好玩的特性?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n7.关于字符串扩展的新函数,下面描述错误的是:()\r\n\r\nA、includes函数用于判断字符串中是否含有指定的子字符串\u003cbr\u003e\r\nB、repeat函数将目标字符串重复N次,目标字符串被修改\u003cbr\u003e\r\nC、startsWidth函数判断指定的子字符串是否出现在目标字符串头部位置\u003cbr\u003e\r\nD、endWidth函数判断指定的子字符串是否出现在目标字符串尾部位置\u003cbr\u003e\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:repeat函数将目标字符串重复N次,会返回一个新的字符串,不影响目标字符串。\r\n考点:String字符串的新特性repeat函数的使用。来自《第六节:ES6为字符串String带来哪些好玩的特性?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n8.关于数值的扩展,window.isNaN(“abc”) 和Number.isNaN(“abc”)的结果分别是:()\r\n\r\nA、true   false\u003cbr\u003e\r\nB、false   true\u003cbr\u003e\r\nC、true   true\u003cbr\u003e\r\nD、false   false\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:A\r\n解析:window.isNaN函数会把非数值的参数转化成数值再进行判断,而Number. isNaN只对数值类型有效,非数值类型的参数一律返回false。\r\n考点:isNaN函数从全局函数移植到Number对象后的区别。来自《第七节:ES6为数值做了哪些扩展?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n9.关于数值扩展的Number.isInteger函数,下面说法错误的是:()\r\n\r\nA、用来判断是否是整数,返回布尔值。\u003cbr\u003e\r\nB、Number.isInteger(3);结果为:true\u003cbr\u003e\r\nC、Number.isInteger(3.0);结果为:false\u003cbr\u003e\r\nD、Number.isInteger(3.01);结果为:false\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:在JavaScript内部对整数和浮点数采用一样的存储方式,因此小数点后如果都是0的浮点数,都会被认为是整数。\r\n考点:Number.isInteger函数使用的注意事项。来自《第七节:ES6为数值做了哪些扩展?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n10.数组扩展的fill( )函数,[1,2,3].fill(4)的结果是:()\r\n\r\nA、[4]\u003cbr\u003e\r\nB、[1,2,3,4]\u003cbr\u003e\r\nC、[4,1,2,3]\u003cbr\u003e\r\nD、[4,4,4]\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:fill函数的参数会把原数组的每个元素填充成指定的参数。\r\n考点:对fill( )函数的了解和使用。来自《第八节:ES6为数组做了哪些扩展?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n11.数组的扩展中,不属于用于数组遍历的函数的是:()\r\n\r\nA、keys( )\u003cbr\u003e\r\nB、entries( )\u003cbr\u003e\r\nC、values( )\u003cbr\u003e\r\nD、find( )\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:find函数用于找出数组中符合条件的第一个元素,并不是用于遍历数组。\r\n考点:利用数组的新特性来实现数组的遍历。来自《第八节:ES6为数组做了哪些扩展?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n12.关于对象的扩展,错误的是:()\r\n\r\nA、ES6中对象的表示法更加简洁\u003cbr\u003e\r\nB、对象的属性名可以是表达式\u003cbr\u003e\r\nC、对象的方法名不可以是表达式\u003cbr\u003e\r\nD、当属性名为表达式的时候,需要使用[ ]标识\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:对象的方法名同样可以是表达式,使用[ ]标识。\r\n考点:对象的新特性的使用注意事项。来自《第九节:ES6为对象做了哪些扩展?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n13.关于对象的Object.is函数,错误的是:()\r\n\r\nA、用于判断两个值是否严格相等\u003cbr\u003e\r\nB、用于判断两个值是否抽象相等\u003cbr\u003e\r\nC、Object.is(3,'3') 结果是:false\u003cbr\u003e\r\nD、Object.is(3,3.0) 结果是:true\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:Object.is函数判断两个值是否严格相等,或者说全等,作用等同于全等符号:===\r\n考点:Object.is函数的了解和使用注意事项。来自《第九节:ES6为对象做了哪些扩展?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n14.函数的扩展中,关于rest参数的描述,正确的是:()\r\n\r\nA、获取函数剩下部分的参数\u003cbr\u003e\r\nB、rest参数不可以是函数的最后一个参数\u003cbr\u003e\r\nC、获取函数的第一个参数\u003cbr\u003e\r\nD、一个名叫rest的参数\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:A\r\n解析:rest参数用于表示且必须是函数的最后一个函数,后面不可以再跟其他参数,故B选项是错的。它的表示法表示法使用...(三个点)+ 自定义的参数名,故D选项是错的\r\n考点:rest参数的理解和使用。来自《第十节:ES6为函数做了哪些扩展?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n15.关于箭头函数的描述,错误的是:()\r\nA、使用箭头符号=\u003e定义\u003cbr\u003e\r\nB、参数超过1个的话,需要用小括号()括起来\u003cbr\u003e\r\nC、函数体语句超过1条的时候,需要用大括号{ }括起来,用return语句返回\u003cbr\u003e\r\nD、函数体内的 this 对象,绑定使用时所在的对象\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:函数体内的 this 对象,绑定定义时所在的对象,而不是使用时所在的对象。这点很重要,连载第十节的时候还特意加了一节讲这个内容。\r\n考点:箭头函数的使用注意事项。来自《第十节(补课):函数的扩展 — 箭头函数的this使用》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n16.关于Symbol,错误的说法是:()\r\n\r\nA、是ES6新增的一种数据类型\u003cbr\u003e\r\nB、Symbol() === Symbol() 结果为false\u003cbr\u003e\r\nC、Symbol('same') === Symbol('same') 结果为true\u003cbr\u003e\r\nD、当symbol值作为对象的属性名的时候,不能用点运算符获取对应的值。\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:symbol是独一无二的值,虽然它们的描述都是“'same'”,但是对应的值还是不一样的,所以结果为:false。\r\n解析:关于Symbol的使用注意事项,来自《第十一节:JavaScript有了一种全新的数据类型:Symbol》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n17.下面运算结果,结果为true的是:()\r\n\r\nA、Symbol.for('name') == Symbol.for('name')  \u003cbr\u003e\r\nB、Symbol('name') == Symbol.for('name') \u003cbr\u003e\r\nC、Symbol('name') == Symbol('name')\u003cbr\u003e \r\nD、Symbol.for('name') == Symbol('name')\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:A\r\n解析:Symbol.for函数会根据参数名,去全局环境中搜索是否有以该参数为名的symbol值,有就返回它,没有就以该参数名来创建一个新的symbol值,并登记在全局环境中,而Symbol每次都会创建一个独一无二的值,不会登记在全局环境中。\r\n解析:Symbol和Symbol.for创建变量的区别,来自《第十一节:JavaScript有了一种全新的数据类型:Symbol》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n18.关于Proxy代理,下面说法错误的是:()\r\n\r\nA、可以理解成在目标对象之前,架设一层“拦截”\u003cbr\u003e\r\nB、Proxy的get 方法用于拦截某个属性的读取操作。\u003cbr\u003e\r\nC、Proxy的set方法用于拦截对对象的写操作。\u003cbr\u003e\r\nD、一旦对象设置Proxy代理后不可取消,所以要谨慎操作\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:可以用Proxy.revocable( )来取消代理,并不是不可以取消的。\r\n考点:Proxy代理的设置和取消代理,来自《第十二节:ES6 Proxy代理 和 去银行存款有什么关系?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n19.关于for...of的简述,说法错误的是:()\r\n\r\nA、它可以遍历所有具有iterator 接口的数据结构\u003cbr\u003e\r\nB、不可以用break来终止循环\u003cbr\u003e\r\nC、使用continue可以跳过当前循环\u003cbr\u003e\r\nD、可以遍历DOM list对象\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:for...of可以用break来终止循环,而传统的forEach则不可以用break终止循环,这正是for...of相对forEach的优势\r\n考点:for...of遍历相对于传统便利方式的优势,来自《第十三节:易学又实用的新特性:for...of》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n20.关于set结构,下面说法错误的是:()\r\n\r\nA、创建一个实例需要用new关键字\u003cbr\u003e\r\nB、结构成员都是唯一的,不允许重复\u003cbr\u003e\r\nC、使用add方法添加已经存在的成员会报错\u003cbr\u003e\r\nD、初始化的时候接受数组作为参数\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:使用add方法添加已经存在的成员,会自动忽略相同的值,相同的值保留一个。\r\n考点:set结构的特点,来自《第十六节:ES6新增的 Set 和 WeakSet 是什么东西?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n21.关于Set结构的实例方法,下面说法错误的是:()\r\n\r\nA、set方法用于添加成员\u003cbr\u003e\r\nB、clear方法用于清除所有成员。\u003cbr\u003e\r\nC、entries方法返回成员的位置索引和值的遍历器\u003cbr\u003e\r\nD、values方法返回成员值的便利器\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:返回的是键名和键值的遍历器;特别注意的是:set结构的键名和键值是同一个值。\r\n考点:set结构键名和键值的特点,来自《第十六节:ES6新增的 Set 和 WeakSet 是什么东西?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n22.关于WeakSet结构,说法错误的是:()\r\n\r\nA、与Set结构一样,成员值都是唯一\u003cbr\u003e\r\nB、成员值必须是对象\u003cbr\u003e\r\nC、WeakSet 中的对象都是弱引用\u003cbr\u003e\r\nD、可以forEach( )方法实现遍历\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:WeakSet结构是不可遍历的,所以它不存在forEach方法,以及keys()、values()、entries()方法,这是它和Set结构不同处之一。\r\n考点:Set和WeakSet的不同点,来自《第十六节:ES6新增的 Set 和 WeakSet 是什么东西?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n23.关于Map结构的介绍,下面说法错误的是:()\r\nA、是键值对的集合\u003cbr\u003e\r\nB、创建实例需要使用new关键字\u003cbr\u003e\r\nC、Map结构的键名必须是引用类型\u003cbr\u003e\r\nD、Map结构是可遍历的\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:键名可以是任何数据类型,这是Map结构的最大特性,也是Map结构和传统对象Object最大的区别。\r\n考点:Map结构的键名特点,来自《第十七节:ES6新增的Map和WeakMap 又是什么东西?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n24.下列Map结构的键名数据类型,描述错误的是:()\r\nA、键名可以是数组类型的值\u003cbr\u003e\r\nB、键名可以是Symbol类型的值\u003cbr\u003e\r\nC、键名值可以是null\u003cbr\u003e\r\nD、键名值不可以为undefined\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:undefined也可以做为Map结构的键名。\r\n考点:Map结构键名的值类型,来自《第十七节:ES6新增的Map和WeakMap 又是什么东西?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n25.关于WeakMap结构,下列说法错误的是:()\r\n\r\nA、创建实例需要使用new关键字\u003cbr\u003e\r\nB、键名可以是任何类型的值\u003cbr\u003e\r\nC、WeakMap结构不支持clear方法\u003cbr\u003e\r\nD、WeakMap结构不可遍历\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:WeakMap结构的键名必须是引用类型的值,也是它和Map最大不同之处。\r\n考点:Map和WeakMap的不同点,来自《第十七节:ES6新增的Map和WeakMap 又是什么东西?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n26.ES6的新特性Promise对象的设计初衷是()\r\n\r\nA、更好地实现遍历具有iterator接口的数据结构\u003cbr\u003e\r\nB、为对象的操作增加了一层“拦截”\u003cbr\u003e\r\nC、独一无二的值,用于对象属性,避免属性名冲突\u003cbr\u003e\r\nD、让开发者更合理、更规范地用于处理异步操作\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:遍历具有iterator接口的数据结构是for...of的作用;为对象的操作增加了一层“拦截”是Proxy代理的设计初衷;独一无二的值,避免属性名冲突是Symbol的设计初衷。而D选项,是Promise对象的设计初衷。\r\n考点:Promise对象的作用,来自《第十八节:教你如何使用ES6的Promise对象》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n27.关于Promise对象的状态,下列说法错误的是:()\r\n\r\nA、三种状态分别是:pending初始状态、fulfilled成功、rejected失败\u003cbr\u003e\r\nB、pending初始状态可以状变成fulfilled成功\u003cbr\u003e\r\nC、rejected失败不可以状变成pending初始状态\u003cbr\u003e\r\nD、rejected失败可以状变成fulfilled成功\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:A、B、C的说法都是正确的,rejected失败和fulfilled成功之间不能相互转换,故D选项是错误的。\r\n考点:Promise对象三种状态的转换关系,来自《第十八节:教你如何使用ES6的Promise对象》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n28.下面关于类class的描述,错误的是:()\r\n\r\nA、JavaScript的类class本质上是基于原型prototype的实现方式做了进一步的封装\u003cbr\u003e\r\nB、constructor构造方法是必须的\u003cbr\u003e\r\nC、如果类的constructor构造方法有多个,后者会覆盖前者\u003cbr\u003e\r\nD、类的静态方法可以通过类名调用,不需要实例化\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:同一个类的constructor构造方法只能有一个,否则程序会报错。\r\n考点:类class的声明,来自《第十九节:终于,JavaScript也有了类(class)的概念》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n29.JavaScript中类的继承使用的关键字是:()\r\nA、extends\u003cbr\u003e\r\nB、inherit\u003cbr\u003e\r\nC、extend\u003cbr\u003e\r\nD、base\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:A\r\n解析:extends才是JavaScript中类的继承关键字,其他的选项都不是。\r\n考点:类的继承知识,来自《第十九节:终于,JavaScript也有了类(class)的概念》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n30.在类的继承中,关于super的说法错误的是:()\r\n\r\nA、在子类的构造函数,必须先调用super( )\u003cbr\u003e\r\nB、super相当于子类的引用\u003cbr\u003e\r\nC、先调用super( ),才可以使用this\u003cbr\u003e\r\nD、super( )相当于父类构造函数的调用\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:super是父类的引用,我们可以通过super来调用父类的方法和属性。\r\n考点:类的继承,来自《第十九节:终于,JavaScript也有了类(class)的概念》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n31.下列数据结构中,不能被for...of遍历的是:()\r\n\r\nA、Array数组\u003cbr\u003e\r\nB、Object对象\u003cbr\u003e\r\nC、String字符串\u003cbr\u003e\r\nD、Set结构\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:只有该数据结构实现了Iterator遍历器接口才可以被for...of遍历,而数组,字符串,Set和Map结构正式这样的可遍历对象。而普通的Object对象并没有实现Iterator遍历器接口。\r\n考点:具有Iterator接口可遍历对象,来自《第十四节:ES6的 Iterator 遍历器到底是什么?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n32.关于Iterator遍历器的说法,错误的是:()\r\n\r\nA、next( )方法是Iterator遍历器的核心\u003cbr\u003e\r\nB、当next( )返回对象的done属性为fasle,遍历结束\u003cbr\u003e\r\nC、具有Iterator接口的对象视为可遍历对象\u003cbr\u003e\r\nD、可以自定义一个可遍历对象和其遍历行为\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:B\r\n解析:当next( )返回对象的done属性为fasle,表示遍历未结束,done属性为true时,表示遍历结束。\r\n考点:Iterator遍历器的原理,来自《第十四节:ES6的 Iterator 遍历器到底是什么?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n33.关于新特性Generator函数的描述,错误的是:()\r\n\r\nA、Generator函数,又称生成器函数\u003cbr\u003e\r\nB、声明Generator函数的关键字是:function*\u003cbr\u003e\r\nC、Generator函数执行后得到的一个生成器\u003cbr\u003e\r\nD、使用return语句使Generator函数暂停执行,直到next方法的调用\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:使函数暂停执行的关键字是yield,不是return;return语句是使函数停止执行并退出。\r\n考点:Generator函数的特点,来自《第十五节:有一种特殊的函数叫:Generator函数》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n34.Generator函数的yield关键字的作用是:()\r\n\r\nA、停止执行\u003cbr\u003e\r\nB、退出函数\u003cbr\u003e\r\nC、暂停执行,等待next( )方法调用\u003cbr\u003e\r\nD、停止执行,可自行恢复执行\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:Generator函数可以有很多个yield。而return代表的是终止执行,yield代表的是暂停执行,后续通过调用生成器的next( )方法,可以恢复执行。\r\n考点:yield关键字的关键字,来自《第十五节:有一种特殊的函数叫:Generator函数》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n35.在Generator函数中,yield*语句的作用是:()\r\n\r\nA、调用另外的Generator函数\u003cbr\u003e\r\nB、暂停执行,待next( )方法调用后恢复\u003cbr\u003e\r\nC、停止执行,退出函数\u003cbr\u003e\r\nD、调用任意的其他函数\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:A\r\n解析:关键字yield*来实现调用另外的Generator函数。如果一个Generator函数A执行过程中,进入(调用)了另一个Generator函数B,那么会一直等到Generator函数B全部执行完毕后,才会返回Generator函数A继续执行。\r\n考点:关键字yield*的作用,来自《第十五节:有一种特殊的函数叫:Generator函数》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n36.关于ES6的module模块,下列说法错误的是:()\r\n\r\nA、可以有效解决大型系统文件复杂的依赖问题\u003cbr\u003e\r\nB、使用export语句可以选择性地向外部暴露自己的属性或者方法\u003cbr\u003e\r\nC、使用import语句导入其他模块的属性或者方法\u003cbr\u003e\r\nD、目前大部分主流浏览器都支持module模块\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n\r\n答案:D\r\n解析:目前(2016年上半年)还没有浏览器支持module模块的开发,需要借助转码工具才可以使用。A选项是ES6的设计初衷之一,B选项是export语句的正确描述,C选项是import语句的正确描述。\r\n考点:module模块的使用和实现,来自《一个缺失已久的特性 — module模块》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n37.module模块中,对下列语句的描述,错误的是:()\r\n\r\nA、export 导出\u003cbr\u003e\r\nB、import 导入\u003cbr\u003e\r\nC、export default 默认导出\u003cbr\u003e\r\nD、import * as  重命名\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:D\r\n解析:import * as:星号符*实现的是整体导入。而重命名的实现方式是:import { name as myname }。\r\n考点:module模块的关键字语句含义,来自《一个缺失已久的特性 — module模块》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n38.module模块中的注意事项,下列说法错误的:()\r\n\r\nA、除了对象类型以外,导出的属性对外都是只读的\u003cbr\u003e\r\nB、导入不存在的变量,值为undefined\u003cbr\u003e\r\nC、导入不存在的变量,程序会抛出异常\u003cbr\u003e\r\nD、可以为导入的属性和方法取任意名字\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:导入不存在的变量,程序不会抛出异常,只是值为undefined。\r\n考点:module模块的注意事项,来自《一个缺失已久的特性 — module模块》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n39.想要获取Map实例对象的成员数,利用的属性是:()\r\n\r\nA、size\u003cbr\u003e\r\nB、length\u003cbr\u003e\r\nC、sum\u003cbr\u003e\r\nD、members\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:A\r\n解析:属性就是size:获取实例的成员数,其他选项都不是,很多初学者误以为是length。\r\n考点:Map结构的知识点,来自《第十七节:ES6新增的Map和WeakMap 又是什么东西?》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e\r\n\r\n40.关于定义常量的关键字const,定义一个Object对象{“name”:”Jack”},再对属性name 的值进行修改,如:obj.name = “John”。下列说法正确的:()\r\n\r\nA、修改常量,程序跑出异常\u003cbr\u003e\r\nB、程序不抛出异常,修改无效\u003cbr\u003e\r\nC、修改成功,name的值为John\u003cbr\u003e\r\nD、程序不抛出异常,name的值为undefined\r\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003e答案\u003c/b\u003e\u003c/summary\u003e\r\n\u003cp\u003e\r\n答案:C\r\n解析:用const来声明一个对象类型的常量,就是传址赋值。而不可修改的是对象在内存中的地址,而不是对象本身。所以修改name并不是修改对象的内存地址,所以可以成功修改。\r\n考点:const定义一个对象时候的注意事项,还记得装修师傅的故事吗?来自《第三节:ES6中另一个不得不说的关键字const》的内容。\r\n\u003c/p\u003e\r\n\u003c/details\u003e\u003cbr\u003e","author":{"url":"https://github.com/Geek-James","@type":"Person","name":"Geek-James"},"datePublished":"2020-05-24T03:39:36.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/38/Blog/issues/38"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:1cbf76c7-b76f-e817-b9b6-27e4e9ecd854
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idA3C6:164B81:23ED0B6:2E6D1D5:699295F7
html-safe-nonce6145e0917d44dbfc21162829c8c94a011e04037950adad9c621322fd7a1f4b2c
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBM0M2OjE2NEI4MToyM0VEMEI2OjJFNkQxRDU6Njk5Mjk1RjciLCJ2aXNpdG9yX2lkIjoiMzYwMzc3NDQ5NTY3OTIyMzI4OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacf838de36db71461457ad8c8a4c2d7525f5ebc0d1ce96dd74263e4026f3c8abb6
hovercard-subject-tagissue:623787173
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/Geek-James/Blog/38/issue_layout
twitter:imagehttps://opengraph.githubassets.com/e1e5e878a06680067099fc92f0b01a3c361acdea7c4b19bea196eb424aeff5bb/Geek-James/Blog/issues/38
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/e1e5e878a06680067099fc92f0b01a3c361acdea7c4b19bea196eb424aeff5bb/Geek-James/Blog/issues/38
og:image:alt1.下面不属于ECMAScript规范的范围的是:( ) A、数据类型 B、语法 C、DOM事件 D、内置对象和函数的标准库 答案 答案:C 解析:DOM事件不属于ECMAScript的部分;ECMAScript定义的内容:语法、类型、原型和继承、内置对象和函数的标准库。 考点: ECMAScript定义规范的理解,来自《第一节:什么是ES6?新手该如何理解》的内容。 2.下面不属于关键字l...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameGeek-James
hostnamegithub.com
expected-hostnamegithub.com
None42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b
turbo-cache-controlno-preview
go-importgithub.com/Geek-James/Blog git https://github.com/Geek-James/Blog.git
octolytics-dimension-user_id12680166
octolytics-dimension-user_loginGeek-James
octolytics-dimension-repository_id197541081
octolytics-dimension-repository_nwoGeek-James/Blog
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id197541081
octolytics-dimension-repository_network_root_nwoGeek-James/Blog
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release848bc6032dcc93a9a7301dcc3f379a72ba13b96e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/Geek-James/Blog/issues/38#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FGeek-James%2FBlog%2Fissues%2F38
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FGeek-James%2FBlog%2Fissues%2F38
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=Geek-James%2FBlog
Reloadhttps://patch-diff.githubusercontent.com/Geek-James/Blog/issues/38
Reloadhttps://patch-diff.githubusercontent.com/Geek-James/Blog/issues/38
Reloadhttps://patch-diff.githubusercontent.com/Geek-James/Blog/issues/38
Geek-James https://patch-diff.githubusercontent.com/Geek-James
Bloghttps://patch-diff.githubusercontent.com/Geek-James/Blog
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2FGeek-James%2FBlog
Fork 29 https://patch-diff.githubusercontent.com/login?return_to=%2FGeek-James%2FBlog
Star 188 https://patch-diff.githubusercontent.com/login?return_to=%2FGeek-James%2FBlog
Code https://patch-diff.githubusercontent.com/Geek-James/Blog
Issues 38 https://patch-diff.githubusercontent.com/Geek-James/Blog/issues
Pull requests 0 https://patch-diff.githubusercontent.com/Geek-James/Blog/pulls
Actions https://patch-diff.githubusercontent.com/Geek-James/Blog/actions
Projects 0 https://patch-diff.githubusercontent.com/Geek-James/Blog/projects
Security 0 https://patch-diff.githubusercontent.com/Geek-James/Blog/security
Insights https://patch-diff.githubusercontent.com/Geek-James/Blog/pulse
Code https://patch-diff.githubusercontent.com/Geek-James/Blog
Issues https://patch-diff.githubusercontent.com/Geek-James/Blog/issues
Pull requests https://patch-diff.githubusercontent.com/Geek-James/Blog/pulls
Actions https://patch-diff.githubusercontent.com/Geek-James/Blog/actions
Projects https://patch-diff.githubusercontent.com/Geek-James/Blog/projects
Security https://patch-diff.githubusercontent.com/Geek-James/Blog/security
Insights https://patch-diff.githubusercontent.com/Geek-James/Blog/pulse
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/Geek-James/Blog/issues/38
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/Geek-James/Blog/issues/38
ES6系列40道基础题https://patch-diff.githubusercontent.com/Geek-James/Blog/issues/38#top
ES6https://github.com/Geek-James/Blog/issues?q=state%3Aopen%20label%3A%22ES6%22
https://github.com/Geek-James
https://github.com/Geek-James
Geek-Jameshttps://github.com/Geek-James
on May 24, 2020https://github.com/Geek-James/Blog/issues/38#issue-623787173
ES6https://github.com/Geek-James/Blog/issues?q=state%3Aopen%20label%3A%22ES6%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.