搜狗2015前端工程师笔试题总结

1.下列描述错误的是():
  A.HTTP状态码302表示暂时性转移   B.domContentLoaded事件早于onload事件
  C.IE6/7/8不支持事件捕获   D.localStorage存储的数据,在刷新页面后会消失
正确答案为D。
B选项:domContentLoaded事件仅当Dom加载完成时就触发,不包括样式表、图片、flush之类的数据的加载



2.以下js程序输出的内容为:
<SCRIPT LANGUAGE=""JavaScript>
    var a="undefined";
    var b="false";
    var c="";
    function assert(aVar){
        if(aVar)     
            alert(true);
        else  
            alert(false);
    }
    assert(a);
    assert(b);
    assert(c);
</SCRIPT>
正确答案为: true/true/false
在js中,字符串类型的数据只有空字符串会被转换成false,number类型的数据只有0或者NAN会被转换成false,Object类型的数据只有null会被转换成false,undefined类型会被转换成false



3.以下程序输出的是:
function Foo(){
     var i=0;
     return function(){
         document.write(i++);
     }
}
var f1=Foo(),
f2=Foo();
f1();
f1();
f2();
正确结果为:010
这是js的一个闭包问题,这里的局部变量i,对于f1和f2来说都是全局变量,但是他们两个函数之间来说又是相互独立的,也就是说,在他们两个函数范围内的i是独立的,不会相互影响,却会一直存在于自己的作用域中



4.现有如下dom结构:
<ul>
 <li>click me</li>
 <li>click me</li>
 <li>click me</li>
 <li>click me</li>
</ul>
运行如下js代码:
    var elements=document.getElementsByTagName('li');
    var length=elements.length;
    for(var i=0;i<length;i++){
        elements[i].onclick=function(){
        alert(i);
    }
 }
结果为什么
正确结果为:都是输出4
每个li标签的onclick事件执行时,本身onclick绑定的function的作用域中没有变量i,i为undefined,则解析引擎会寻找父级作用域,发现父级作用域中有i,且for循环绑定事件结束后,i已经赋值为4,所以每个li标签的onclick事件执行时,alert的都是父作用域中的i,也就是4。这是作用域的问题。
当定义onclick事件时,并没有变量i,该变量的值这时候为undefined。当我们触发onclick事件时,就会进行作用域查找i,此时i的值已经为4了,因此都是输出的4



下列列出的浏览器中,没有webkit内核的是
chrome
safari
搜狗浏览器
firefox
正确结果为:firefox
Wekbit是一个开源的Web浏览器引擎,也就是浏览器的内核。Apple的Safari, Google的Chrome, Nokia S60平台的默认浏览器,Apple手机的默认浏览器,Android手机的默认浏览器均采用的Webkit作为器浏览器内核。Webkit的采用程度由 此可见一斑,理所当然的成为了当今主流的三大浏览器内核之一。另外两个分别是Gecko和Trident,大名鼎鼎的Firefox便是使用的Gecko 内核,而微软的IE系列则使用的是Trident内核。 另外,搜狗浏览器是双核的,双核并不是指一个页面由2个内核同时处理,而是所有网页(通常是标准通用标记语言的应用超文本标记语言)由webkit内核处理,只有银行网站用IE内核
浏览器 的内核引擎,基本上是四分天下:1)Trident: IE 以Trident 作为内核引擎;2)Gecko: Firefox 是基于 Gecko 开发;3)WebKit: Safari, Google Chrome,傲游3,猎豹浏览器,百度浏览器 opera浏览器;4)Presto: Opera的内核,但由于市场选择问题,主要应用在手机平台–Opera mini
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值