1.以下不属于JavaScript中的数据类型的选项是( C )
A.Undefined B.Number C.Interface D.Symbol
== 基本类型有:String Number Boolean Null Undefined Symbol(ES6新增-表示独一无二的值) 引用数据类型:Object Array Function ==
2.以下代码执行后,console 的输出是( A )
function Foo(){
console.log(this.location);
}
Foo();
A.当前窗口的 Location 对象 B.undefined C.null D.TypeError
3.打开名为 “window2” 的新窗口的 JavaScript 语法是()
window.open("http://www.w3school.com.cn","window2")
4.JavaScript中常用符号的含义
== * :出现零到多次
+: 出现一到多次
?:出现零次或者一次
. : 除了\n以外的任意字符
{n} : 出现n次
{n,} : 出现n到多次
{n,m} : 出现n到m次
var reg=/^0.2$/; //以0开头,以2结尾,中间可以是\n以外的任意字符 ==
5.有以下ES6代码
function * gen() {
yield 1;
yield 2;
yield 3;
}
下面选项描述正确的是哪个( C )
A.gen()执行后返回2
B.gen()执行后返回undefined
C.gen()执行后返回一个Generator对象
D.gen()执行后返回1
== function声明 (function关键字后跟一个星号)定义了一个生成器函数 ( generator function ),它返回一个 Generator 对象.
也可以定义生成器函数 使用构造函数 GeneratorFunction 和一个 function*expression ==
6.以下 javascript 代码,在浏览器中运行的结果是( 首先全部输出first,然后全部输出second )
== JavaScript 是单线程的,setTimeout 设置的是异步任务,会放在 macrotask 里面,等待执行栈的代码执行完毕之后才会执行 macrotask 里面的异步任务,所以这里会等待 for 循环执行完毕才会执行定时器设置的任务。 ==
7.如何遍历下面的 my_data 对象( for(var key in my_data) {} )
var my_data={
a:’Ape’, b:’Banana’, c:’Citronella’};
8.关于 this 的工作原理
this有四种情况!
== a.当在函数调用的时候指向widow
b.当方法调用的时候指向调用对象
c.当用apply和call上下文调用的时候指向传入的第一