2019-05-19 牛客错题集

1.数组中也有for...in,相较于对象中的用法是有区别的:

答:
数组中:

    var arr =['曹超,'曹植','曹丕'];
    for(i in arr){
        console.log(i);//0,1,2
        console.log(arr[i]);//曹操,曹植,曹丕
    }

对象中:

var obj = new Object();
obj = {
  father:'曹操',
  son:'曹植'
}
for (i in obj){
  console.log(i);//代表key值:father,son
  console.log(obj[i])//代表value值:曹操,曹植
}


2.要在10秒后调用checkState,下列那个是正确的

答:

function checkState(){
    alert("嘀嘀嘀!");
}
window.setTimeout(checkState(),10000);//立即被调用
window.setTimeout(checkState,10000);//10s后被调用
window.setTimeout("checkState()",10000);//10s后被调用,注意和第一个的区别,有引号

checkState加了括号相当于执行函数表达式,执行结果作为返回值传递给setTimeout。
补充:
setTimeout方法:固定时间后运行,只运行一次。
setInterval方法:按照固定的时间间隔运行。


3.

console.log(([])?true:false);
console.log(([]==false?true:false));
console.log(({}==false)?true:false);

问:得到的结果分别是什么?

答:true,true,false

解析:
此题考查类型转换,三元运算符先“分清是非”,再决定走哪一条路,“==”运算符标胶Number类型。

Boolean([]);//true
Number([]);//0
Number({});//NaN
Number(false);//0

因此原题可以转换为如下:

console.log((true)?true:false);
console.log(0==0?true:false);
console.log((NaN==0)?true:false);


4.关于History对象的属性或方法描述正确的是()

答:
length:返回浏览器历史列表中的URL数量
back():加载history列表中的前一个URL
forward():加载history列表中的下一个URL
go():加载history列表中的某个具体页面


5.下面有关JavaScript内部对象的描述正确的有?

答:
Navagator:提供有关浏览器的信息。
Window:Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性。
Location:提供了与当前打开的URL一起工作的方法和属性,是一个静态的对象。
History:提供了与历史清单有关的信息。
Document:包含与文档元素一起工作的对象,他将这些元素封装起来供开发人员使用。


6.下面关于DNS说法正确的是()

答:
A.DNS就是将域名翻译成IP地址。
B.DNS协议大多数运行在UDP协议之上
C.DNS协议端号为53
D.DNS的默认缓存时间为1天


你可能感兴趣的:(2019-05-19 牛客错题集)