JavaScript面试精华:基础语法与继承、异常处理详解
需积分: 9 179 浏览量
更新于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 = ''`。
2008-09-10 上传
2018-12-07 上传
2022-08-13 上传
2023-09-09 上传
2019-04-13 上传
2021-04-06 上传
qq_26454833
- 粉丝: 0
- 资源: 1
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章