牛客网前端错题总结一

一.link和@import的区别

1.从属关系区别

@import是 CSS 提供的语法规则,只有导入样式表的作用;link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。

2.加载顺序区别

加载页面时,link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。

3.兼容性区别

@import是 CSS2.1 才有的语法,故只可在 IE5+ 才能识别;link标签作为 HTML 元素,不存在兼容性问题。

4.DOM可控性区别

可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。

5.权重区别(该项有争议,下文将详解)

link引入的样式权重大于@import引入的样式。

   二.

     <ul>里面只能放 <li>但是<li>里面可以放<p><h>等标签。

三.

当margin-top、padding-top的值是百分比时,分别是如何计算的?

                             相对最近父级块级元素的width,相对最近父级块级元素的width

四.DOM中的事件对象

DOM中的事件对象:(符合W3C标准)

   preventDefault()        取消事件默认行为

   stopImmediatePropagation() 取消事件冒泡同时阻止当前节点上的事件处理程序被调用。

   stopPropagation()      取消事件冒泡对当前节点无影响。

IE中的事件对象:

   cancelBubble()          取消事件冒泡

   returnValue()             取消事件默认行为

五.选择器的优先级

ID选择器>Class选择器=伪类>标签名称选择器

六.Number转换

Number转换类型的参数如果为对象返回的就是NaN,

那么Number({})返回的就是NaN。

所以console.log(({}==false)?true:false)    返回值为false

七.异步情况

JS的运行机制! 事件(click,focus等等),定时器(setTimeout和setInterval),ajax,都是会触发异步属于异步任务;js是单线程的,一个时间点只能做一件事,优先处理同步任务; 按照代码从上往下执行,遇到异步,就挂起,放到异步任务里,继续执行同步任务,只有同步任务执行完了,才去看看有没有异步任务,然后再按照顺序执行! 

八.label属性

html5规范不允许加id,但是浏览器厂商却实现了这个功能,

label标签只有两个属性

for( 规定 label 绑定到哪个表单元素。 )

form(规定 label 字段所属的一个或多个表单)

九.页面性能

白屏时间first paint 和可交互时间dom ready的关系是

先触发first paint,后触发dom ready

页面的性能指标详解:

白屏时间(first Paint Time)——用户从打开页面开始到页面开始有东西呈现为止

首屏时间——用户浏览器首屏内所有内容都呈现出来所花费的时间

用户可操作时间(dom Interactive)——用户可以进行正常的点击、输入等操作,默认可以统计domready时间,因为通常会在这时候绑定事件操作

总下载时间——页面所有资源都加载完成并呈现出来所花的时间,即页面 onload 的时间

十.生成器

yield关键字使生成器函数执行暂停,yield关键字后面的表达式的值返回给生成器的调用者。它可以被认为是一个基于生成器的版本的return关键字。

yield关键字实际返回一个IteratorResult对象,它有两个属性,value和done。value属性是对yield表达式求值的结果,而done是false,表示生成器函数尚未完全完成。

一旦遇到yield 表达式,生成器的代码将被暂停运行,直到生成器的next()方法被调用。每次调用生成器的next()方法时,生成器都会恢复执行,直到达到以下某个值

如果只是单独调用生成器,不适用next(),则返回一个Generator{}对象

function*countAppleSales(){

varsaleList=[3,7,5];

for(vari=0;i<saleList.length;i++){

yieldsaleList[i];

}

}

一旦生成器函数已定义,可以通过构造一个迭代器来使用它。

varappleStore=countAppleSales();// Generator { }

console.log(appleStore.next());// { value: 3, done: false }

console.log(appleStore.next());// { value: 7, done: false }

console.log(appleStore.next());// { value: 5, done: false }

console.log(appleStore.next());// { value: undefined, done: true }

十一.位运算

function a(a)

{

  a^=(1<<4)-1;

return a;

}

1<<4   左移相当于1*2^4=16

a^=16-1=15

a=a^15=10^15

^ 异或运算:

10的二进制00001010

15的二进制00001111

========>00000101  转成十进制:5

(按位异或运算,同为1或同为0取0,不同取1)

十二.js判断一个对象是否是Array

如何判断一个js对象是否是Array,arr为要判断的对象,其中最准确的方法是:Object.prototype.toString.call(arr) === '[object Array]';

    typeof(arr) 返回的是 Object

    instanceof 在跨 frame 对象构建的场景下会失效

    arr.toString 没有这种用法,正确的用法是 arr.toString() 返回的是数组的内容

详细参考:

http://www.nowamagic.net/librarys/veda/detail/1250 

十三.form表单中input元素的readonlydisabled属性

1.如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交。

2.而readonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。

十四.浏览器Response Headers字段

    1)请求(客户端->服务端[request]) 

        GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号) 

        Accept: */*(客户端能接收的资源类型) 

        Accept-Language: en-us(客户端接收的语言类型) 

        Connection: Keep-Alive(维护客户端和服务端的连接关系) 

        Host: localhost:8080(连接的目标主机和端口号) 

        Referer: http://localhost/links.asp(告诉服务器我来自于哪里) 

        User-Agent: Mozilla/4.0(客户端版本号的名字) 

        Accept-Encoding: gzip, deflate(客户端能接收的压缩数据的类型) 

        If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT(缓存时间)  

        Cookie(客户端暂存服务端的信息) 

        Date: Tue, 11 Jul 2000 18:23:51 GMT(客户端请求服务端的时间)

    2)响应(服务端->客户端[response])

        HTTP/1.1(响应采用的协议和版本号) 200(状态码) OK(描述信息)

        Location: http://www.baidu.com(服务端需要客户端访问的页面路径)

        Server:apache tomcat(服务端的Web服务端名)

        Content-Encoding: gzip(服务端能够发送压缩编码类型)

        Content-Length: 80(服务端发送的压缩数据的长度)

        Content-Language: zh-cn(服务端发送的语言类型)

        Content-Type: text/html; charset=GB2312(服务端发送的类型及采用的编码方式)

        Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT(服务端对该资源最后修改的时间)

        Refresh: 1;url=http://www.it315.org(服务端要求客户端1秒钟后,刷新,然后访问指定的页面路径)

        Content-Disposition: attachment; filename=aaa.zip(服务端要求客户端以下载文件的方式打开该文件)

        Transfer-Encoding: chunked(分块传递数据到客户端)

        Set-Cookie:SS=Q0=5Lb_nQ; path=/search(服务端发送到客户端的暂存数据)

        Expires: -1//3种(服务端禁止客户端缓存页面数据)

        Cache-Control: no-cache(服务端禁止客户端缓存页面数据)

        Pragma: no-cache(服务端禁止客户端缓存页面数据)

        Connection: close(1.0)/(1.1)Keep-Alive(维护客户端和服务端的连接关系)

        Date: Tue, 11 Jul 2000 18:23:51 GMT(服务端响应客户端的时间)

    在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息,解决跨域的一种方法。

十五.怎么能够取得 ”class=wrapper” 中全部项的集合?

    错误答案:$(‘#wrapper’).html();  //返回的是dom结构。而不是集合

    正确答案:$(‘#wrapper’).contents();

十六.运算符

+"2"   =  2(+"2"中的加号是一元加操作符,+"2"会变成数值2)

十七.解释型语言的特性有什么?

非独立、效率低

十八.null instanceof Object  返回false

在js中 typeof  null会返回object,这并不意味着null是object类型,只是遗留错误。null不是object创建的实例对象

十九.var a=b=3 相当于 var a = 3;b = 3;b是全局的

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容