# JavaScript 面试题 1. 如果比较值不相同,下列哪些返回true? A.`<>` B.`~` C.`==!` D.`!==` 2. foreach 与 for的区别哪些说法是正确的? A. 只有 for 使用 callback函数. B. for 更加通用通用,但 forEach 只能用于array. C. 只有 forEach 允许设置你自己的iterator D. ForEach 更加通用通用,但 for 只能用于array. 3. 下列哪项代码创建了一个新的Person object,并命名为 student? A. `var student = new Person();` B. `var student = construct Person;` C. `var student = Person();` D. `var student = construct Person();` 4. 什么时候最后一行代码会打印在Console上? ```javascript= let modal = document.querySelector('#result'); setTimeout(function(){ modal.classList.remove('hidden); }, 10000); console.log('Results shown'); ``` A.10秒钟后 B.HTTP请求收到返回结果后 C.10000秒后 D.立即 5. Function如何创建一个闭包? A.任何时候值变化,它都会重新加载document B.它返回一个引用给他的父作用域 C.它计算执行无需返回 D.他复制本地变量到全局作用域中 6. 下面代码的返回结果是? ```javascript= var Storm = function () {}; Storm.prototype.precip = 'rain'; var WinterStorm = function () {}; WinterStorm.prototype = new Storm(); WinterStorm.prototype.precip = 'snow'; var bob = new WinterStorm(); console.log(bob.precip); ``` A.Strom() B.undefined C.'rain' D.'snow' 7. `12:00:32`可以用下列哪项正则表达式匹配? A.`/[0-9]{2,}:[0-9]{2,}:[0-9]{2,}/` B.`/\d\d:\d\d:\d\d/` C.`/[0-9]+:[0-9]+:[0-9]+/` D.`/ : : /` 8. 下列代码的打印结果是? `console.log(typeof(42))` A.'float' B.'value' C.'number' D.'integer' 9. 你正在处理一个错误,下列哪条语句为是正确的? ```javascript= function addNumbers(x, y) { if (isNaN(x) || isNaN(y)) { // code here } } ``` A.`exception('One or both parameters are not numbers')` B.`catch('One or both parameters are not numbers')` C.`error('One or both parameters are not numbers')` D.`throw('One or both parameters are not numbers')` 10. 下列代码的打印结果是? ```javascript= var a = ['dog', 'cat', 'hen']; a[100] = 'fox'; console.log(a.length); ``` A.101 B.3 C.4 D.100 11. dessert.type的值在下列代码运行后为? ```javascript= const dessert = { type: 'pie' }; dessert.type = 'pudding'; ``` A. pie B. 代码会抛出一个错误 C. pudding D. undefined 12. 下列代码的运行结果为? ```javascript= 0 && hi ``` A. ReferenceError B. True C. 0 D. false 13. 下列class,你如何获得值42对于给定一个实例x? ```javascript= class X { get Y() { return 42; } } ``` A. x.get('Y') B. X.Y C. x.Y() D. x.get().Y 14. 下列表达式的返回结果为? ```javascript= [] == []; ``` A. True B. undefined C. `[]` D. False 15. 对于使用箭头函数返回Object,下列哪项是错误。 A.`=>({})` B.`=>{}` C.`=>{return {};}` D.`=>(({}))`