牛客笔试题总结

1.下列js延迟加载的方式中,只有IE浏览器支持的是哪一种方式?(defer)
2.match是支持正则表达式的String对象的方法

JavaScript RegExp 对象有 3 个方法:test()、exec() 和 compile()。
(1) test() 方法用来检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回 true ,否则返回 false;
(2) exec() 方法用来检索字符串中与正则表达式匹配的值。exec() 方法返回一个数组,其中存放匹配的结果。如果未找到匹配的值,则返回 null;
(3) compile() 方法可以在脚本执行过程中编译正则表达式,也可以改变已有表达式。

正则表达式的 String 对象的方法
(1) search 检索与正则表达式相匹配的值。
(2) match 找到一个或多个正则表达式的匹配。
(3) replace 替换与正则表达式匹配的子串。
(4) split 把字符串分割为字符串数组。

3.this有四种情况!

1)当函数调用的时候指向widow
2)当方法调用的时候指向调用对象
3)当用apply和call上下文调用的时候指向传入的第一个参数
4)构造函数调用指向实例对象

4.下面哪一种不属于 js 的六种基本数据类型?(Object)
undefined
string
null
Object

ES6 后新增了一类数据类型 :Symbol ,根据 JavaScript 高程, ES5 中的基本数据类型有 5 种:Undefined、Null、Boolean、Number、String.而 Object 是属于复杂数据类型,所以我认为这里说的 6 种基本数据类型是指:Undefined、Null、Boolean、Number、String 与 Symbol.

5.

var arr=[{a:1},{}];
arr.forEach(function(item,idx){
    item.b=idx;
})

上面代码执行后, arr 的值是:([{a:1},{}])

forEach的执行对原来数组没有影响

6.

1.常见的块级元素(自动换行, 可设置高宽 )有:
div,h1-h6,p,pre,ul,ol,li,form,table,label等
2。常见的行内元素(无法自动换行,无法设置宽高)有:
a,img,span,i(斜体),em(强调),sub(下标),sup(上标)等。
3.常见的行块级元素(拥有内在尺寸,可设置高宽,不会自动换行 )有:

(button,input,textarea,select), img等

4.label元素不会是浏览器默认的行块级元素,实践出真知

7.超链接访问过后hover样式就不出现了,被点击访问过的超链接样式不再具有hover和active了,解决方法是改变CSS属性的排列顺序?()
a:link {} a:visited {} a:hover {} a:active {}

link:链接平常的状态
visited:链接被访问过之后
hover:鼠标放到链接上的时候
active:链接被按下的时候

解析如下:
1)超链接访问过后hover样式就不出现了 所以,a:hover必须放在a:link和a:visited之后
2)被点击访问过的超链接样式不再具有hover和active了 所以,a:active必须放在a:hover之后

8.下面哪一个字符串不匹配正则 /^a|bc$/ (A)

’bcd’
’abc’
’dbc’
’adc’

A
其实匹配的就是以a开头或者是以bc结尾,B C D都符合条件

8.null == undefined 为真
NaN == NaN 为false
NaN === NaN 为false
null instanceof Object 为false

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值