FAQ 前端面试大杂烩3

1 关于函数
FAQ 前端面试大杂烩3_第1张图片

B是创建一个数组对象
C是创建一个对象
D是一个创建正则对象;若为var obj=/ /; 即赋值被注释掉,及运行被结束;
所以A错误。

2 <meta charset='UTF-8' />

这个有涉及到一个文档的解析过程,
当浏览器收到一个url 地址,按照这个顺序进行
1.浏览器访问对应的url地址,并获取对应的html(或者,以及,其他的css,javascript等)网页源码

2.浏览器识别解析HTML源码内容

其中包含了,解析html的头部(header),找到对应的charset=xxx这部分的内容,然后把根据xxx所指示的字符编码类型,去解码对应的html内容,显示对应的文字,以保证不是乱码,可以正确的显示文字信息;
国内外的多数网站,都是采用charset=utf-8 。这个的兼容性比较好。
部分国外网站采用charset=gb2312或charset=gbk
部分国外网站采用某种自己所属语言的编码,比如charset=iso8859-1

3 函数变量声明以及赋值 本题答案为A

知识点 1 var a=b=3 相当于 var a = 3;b = 3;b是全局变量

此现象发生的原因在于这个从右到左的赋值,
首先,是赋值表达式 b = 3,此情况下b是未声明的。这个表达式的返回值是3,然后这个3 就分配给了通过var定义的这个局部变量a . 所以这里的b将会是全局变量

知识点 2 js函数有一个特性:声明提前 (hoisting),即函数内所有变量的声明被提到函数体顶部。但是变量初始化却是停留在原来位置。

比如

var global = "glo" ;
function(){
   console.log(global );  // undefined
   var global = "chan" ;
   console.log(global ); // chan
}

第一个输出 undefined ,是因为函数将 global 的声明提到顶部 ,也就是相当于

var global = "glo" ;
function(){
   var global ;
   console.log(global );  // undefined 
   global = "chan" ;   // 到了这一行才赋值了
   console.log(global ); // chan
}

3 关于javascript的内部对象
FAQ 前端面试大杂烩3_第2张图片

点击查看参考网址

4 hover focus active

FAQ 前端面试大杂烩3_第3张图片

悬停 聚焦 响应

【这题也错,脑袋进水了】

你可能感兴趣的:(面试,前端)