JavaScript面试精华:基础语法与继承、异常处理详解

需积分: 9 15 下载量 85 浏览量 更新于2024-09-09 2 收藏 183KB PDF 举报
在JavaScript面试中,面试官可能会关注候选人的基础知识和理解深度。以下是一些关键知识点的详细解析: 1. 函数作用与返回值:在提供的代码片段中,`add`函数分别被调用两次,但没有显式地返回值。这会导致`y`和`z`的值都是`undefined`,因为这两个变量只是对`add`函数的引用,并没有保存函数执行后的结果。正确的方式是将函数修改为返回值,例如`return n+1`。 2. 面向对象与原型继承:JavaScript虽然不是纯的类-based语言,但支持原型链(prototype)来实现继承。通过在构造函数的prototype上定义属性和方法,子类可以访问和扩展父类的功能。 3. DOM操作:要选中并设置checkbox为无效,可以使用DOM操作,如`document.all.cb1[0]`获取元素,然后调用`.disabled = true`来禁用它。 4. input属性差异:`readonly`和`disabled`都用于限制用户交互,但有不同效果。`readonly`阻止文本输入但允许其他交互(如选择和复制),数据不会提交到服务器;而`disabled`则完全禁止交互,包括读取和写入,且数据不提交。 5. 弹出消息框:JavaScript提供了三个内置的提示方法: - `alert`:显示警告对话框,暂停执行直到用户关闭。 - `confirm`:显示带有确认和取消按钮的消息,返回用户的选择。 - `prompt`:显示输入对话框,等待用户输入,返回输入的值。 6. form输入类型:form中的`input`元素类型包括`text`, `password`, `checkbox`, `radio`, `textarea`, 等等,根据实际需求选择合适的类型。 7. 变量作用域:JavaScript有两种变量范围: - 全局变量:在整个页面范围内可用,生命周期贯穿整个页面。 - 局部变量:只在函数内部或特定代码块内有效,函数执行完毕后释放。 8. 数据类型:JavaScript主要数据类型包括`string`, `boolean`, `number`。复合数据类型包括函数(函数作为一等公民)、对象(包括数组、null等)。特殊数据类型包括`undefined`, `null`, 和`NaN`。 9. 异常处理:使用`try-catch-finally`结构捕获和处理程序中的异常。`try`块包含可能抛出异常的代码,`catch`块捕获异常,`finally`块确保清理工作始终被执行。 10. Date对象:`DateDemo`函数返回当前系统日期(假定为2010年7月17日),通过`getMonth()`, `getDate()`, 和`getYear()`方法获取各个部分。 11. 循环陷阱:循环结构`for`中的变量更新问题,当`i`和`j`同时递增时,`k`的值会在第六次迭代时变为10,因为`j`先于`i`达到6,结束循环。 12. 变量声明:在`hi`函数中,未声明`a`就尝试访问,会返回`undefined`,因为`a`是未初始化的。 13. 字符串常量:`hi`函数中,尝试用`nul`赋值给`a`,`nul`不是有效的JavaScript关键字,应该是空字符串`''`。正确的代码应为`vara = ''`。