JS题库1-5

1.下面有关DNS说法正确的是()

A.DNS的作用是域名和IP地址的相互映射

B.DNS协议运行在UDP协议之上

C.DNS协议端口号为53

D.DNS的默认缓存时间是1小时

正确答案:B.C,

解析:

        DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库

DNS是域名系统的缩写,它是由解析器和域名服务器组成的。域名服务器是保存有该网络中所有主机的域名和对应的ip地址,域名必对应ip地址,但ip地址不一定对应域名。将域名映射为ip地址的过程就称为域名解析。域名虽便于人们记忆,但计算机只互相认识ip地址。DNS就是进行域名解析的服务器。DNS主要是UDP协议,但是当请求字节超过512字节的时候,是用tcp协议,它可以分割成多个片段。

操作系统的DNS缓存:windows DNS缓存的默认值MaxCacheTTL,它的默认值是86400s,也就是一天,macOS严格遵循DNS协议中的TTL。

浏览器的DNS缓存:chrome默认对每个域名会默认缓存60s,IE将缓存30min,Firefox默认缓存时间只有1min;Safari约10s,

2.以下javascript代码在浏览器中的运行结果是:

 function foo(){
            console.log("first");
            setTimeout(function () {
                console.log("second");
            },5)
        }
        for(var i=0;i<10;i++){
            foo();
        }

A.first,second,first,second……依次顺序输出

B.首先全部输出first,然后全部输出second

C.first,second无序输出

D.首先输出first,超出5ms输出所有second,最后输出余下first

正确答案:B

解析:

   这里考察的点是回调的运行机制

    回调时被回调的函数会被放在eventloop里,等线程里的任务执行完后才会执行event loop 里的代码

    因此,上述代码会先把线程里的console.log('first')执行完后,再执行event loop里的console.log('second')。

3.有以下ES6代码

function *gen(){

    yield 1;

    yield 2;

    yield 3;

}

下面选项正确的是哪个?

正确答案:C

解析:function *声明(function关键字后跟一个星号)定义了一个生成器函数(generator function),它返回一个Generator对象。

4.以下的JS的程序会输出什么?

A.true,true,true

B.true,true,false

C.false,false,true

D.false,false,false

正确答案:B

解析:

    变量abc都是字符串型的变量,而不是真正的undefined和false,在判断里都会被认为是真值,显示true,只有空串为false


5.Number(null);上面的代码将返回

A.Null

B.0

C.undefined

D.1

正确答案:B

解析:

        以下几种形式都会转化为0

        Number(),

        Number(0),

        Number(""),

        Number("0"),

        Number(false),

        Number(null),

        number([]),

        Number([0])



你可能感兴趣的:(JavaScript题库)