前端面试题解析:JS选择填空挑战

需积分: 11 32 下载量 119 浏览量 更新于2024-09-12 收藏 25KB DOCX 举报
"这是一份关于前端面试题的资料,包含网上收集的经典案例和实际工作中的问题,适合准备面试或提升前端知识的人士参考。" 本文将深入解析这些面试题目,帮助你理解JavaScript语言的核心概念,包括数据类型转换、字符串方法、比较运算符、对象与原型、函数以及作用域等关键知识点。 1. **自动类型转换**:在JavaScript中,当进行字符串与数值的拼接时,非字符串类型会自动转换为字符串。因此,`a1+a2="a1+a2="+a1+a2`的结果是`"a1+a2=1020"`,因为变量a1和a2在加号两侧被隐式转换成字符串。 2. **String对象的方法**:`String`对象的方法包括`charAt()`和`substring()`等,但`length`不是一个方法,而是对象的一个属性,用于获取字符串的长度。 3. **比较运算符**:在JavaScript中,`null`不是`undefined`,它们是不同的值。因此,`null==undefined`是真,而`null===undefined`、`null instanceof Object`和`NaN==NaN`都是假。使用严格相等运算符`===`可以避免类型转换带来的不确定性。 4. **语句错误**:JavaScript中,`var obj=//`会创建一个空的正则表达式,而不是一个对象。因此,这条语句会产生运行错误。 5. **构造函数与原型**:在创建`Employee`函数并实例化后,`getName()`返回的是构造函数内部的局部变量`name`,而非`this`引用的`name`。因此,`employee.name`是`undefined`,而`employee.getName()`返回`Jack`,`employee.age`为`20`。所以,执行结果是`undefined—Jack—20`。 6. **函数调用与作用域**:在`obj.method(fn)`中,`fn`作为参数传入,当在`method`内部调用`fn()`时,其`this`对象指向`window`(或全局对象,取决于执行环境)。而在`arguments[0]()`中,`this`仍然指向`obj`,因为`arguments`对象是函数内部的一个对象,其调用不会改变`this`的指向。因此,第一个`alert`显示`window.length`,即`10`,第二个`alert`显示`obj.length`,即`5`。 通过解答这些问题,我们可以看出前端开发者需要掌握的基本技能和理解JavaScript语言的特性。深入理解这些知识点,不仅可以应对面试,也能提高日常开发的效率和代码质量。
2018-12-28 上传
一、单选题(每题2分,共10分) 1、以下哪一个是html5的dtd A <!DOCTYPE html> B <!DOCTYPE HTML PUBLIC> C <!DOCTYPE xhtml> D <!DOCTYPE html5> 2、以下全部属于块级标签的是 A

<input><span> B