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创建的实例对象