### 湖北华中科技 2013最新Java面试题之笔试题解析 #### 1. JavaScript作用域问题 题目中提到的作用域问题是关于全局作用域与局部作用域的区别,以及变量提升(hoisting)的概念。 **知识点:** - **全局作用域**:在函数外部声明的变量拥有全局作用域,可以在脚本的任何位置访问。 - **局部作用域**:在函数内部声明的变量只在该函数内可见。 - **变量提升(Hoisting)**:在JavaScript中,变量声明会被提升到其所在作用域的顶部,但初始化不会被提升。 **示例代码分析:** ```javascript var scope = "全局作用域"; function test() { alert(scope); // 第一次输出"全局作用域" var scope = "局部作用域"; // 局部作用域内的scope变量 alert(scope); // 第二次输出"局部作用域" } test(); // 调用函数test ``` - 在函数`test()`外部定义了`scope`变量,其值为“全局作用域”。 - 函数`test()`内部再次定义了`scope`变量,其值为“局部作用域”。 - 第一次`alert(scope)`时,由于变量提升机制,会先查找局部作用域,找不到则向上查找,直到全局作用域,所以输出的是“全局作用域”。 - 第二次`alert(scope)`时,输出的是“局部作用域”。 #### 2. JavaScript异常处理方式 题目提到了两种常见的异常处理方法:使用`try-catch`语句和通过`window.onerror`事件处理程序来捕获错误。 **知识点:** - **try-catch**:用于捕获运行时错误。 - **window.onerror**:用于捕获脚本执行过程中的错误,包括脚本加载失败等情况。 **示例代码分析:** **使用`try-catch`:** ```javascript try { // 可能抛出异常的代码 } catch (e) { alert("名称:" + e.name + " 信息:" + e.message + "\n"); } ``` - `try`块包含了可能引发错误的代码。 - 如果`try`块中的代码发生错误,则执行`catch`块中的代码,并将错误对象传递给`e`参数。 - `alert`语句显示错误名称和信息。 **使用`window.onerror`:** ```javascript window.onerror = function(sMessage, sUrl, sLine) { var err = ""; err += "信息:" + sMessage + "\n"; err += "URL:" + sUrl + "\n"; err += "行号:" + sLine + "\n"; alert(err); }; ``` - `window.onerror`是一个函数,当页面发生错误时调用此函数。 - 参数`sMessage`表示错误消息,`sUrl`表示出错的脚本文件URL,`sLine`表示错误发生的行号。 - 使用`alert`显示错误信息。 #### 3. 循环控制结构 题目询问了`for`循环、`do...while`循环的使用场景,以及`break`和`continue`关键字的区别。 **知识点:** - **`for`循环**:适合已知循环次数的情况。 - **`do...while`循环**:至少执行一次循环体,然后根据条件判断是否继续执行。 - **`break`**:用于立即退出循环。 - **`continue`**:用于跳过当前迭代的剩余部分,直接进入下一次迭代。 #### 4. JavaScript日期格式化 题目给出了一个日期格式化的示例代码,展示了如何创建一个自定义的日期格式化方法。 **知识点:** - **自定义日期格式化方法**:可以通过构造函数和原型链来实现。 - **应用模式**:设置日期格式。 - **格式化方法**:根据设定的格式输出日期字符串。 **示例代码分析:** ```javascript var df = new DateFormat(); // 创建DateFormat实例 df.applyPattern("yyyy-MM-dd hh:mm:ss"); // 设置日期格式 var date = new Date(2010, 3, 30, 10, 59, 51); // 创建Date实例 var str = df.format(date); // 格式化日期 document.write(str); // 输出结果 ``` - `DateFormat`类负责日期格式化逻辑。 - `applyPattern`方法用于设置日期格式模板。 - `format`方法接受一个`Date`对象作为参数,并返回格式化的字符串。 #### 5. Window对象的几个属性 题目涉及到了`window`对象的几个常用属性:`opener`、`parent`、`top`、`self`。 **知识点:** - **`opener`**:指向打开当前窗口的窗口对象。 - **`parent`**:指向当前窗口的父窗口。 - **`top`**:指向最顶层的窗口。 - **`self`**:指向当前窗口。 #### 6. innerText与innerHTML的区别 题目对比了`innerText`和`innerHTML`这两个属性。 **知识点:** - **`innerText`**:获取或设置文本内容,不包含HTML标签。 - **`innerHTML`**:获取或设置元素及其子元素的所有内容,包括HTML标签。 #### 7. CSS样式表的几种引入方式 题目提到了CSS样式表的不同引入方式。 **知识点:** - **内联样式**:直接写在HTML元素的`style`属性中。 - **内部样式表**:放在HTML文档的`<head>`标签内部。 - **外部样式表**:保存在一个`.css`文件中,并通过`<link>`标签引入。 #### 8. 设置DIV中SPAN的样式 题目要求设置一个`SPAN`元素的字体大小、颜色等样式。 **知识点:** - **CSS属性**:如`font-size`、`font-weight`、`color`等。 - **边框样式**:如`border-style`等。 #### 9. 字符串与字符串缓冲区 题目对比了`String`和`StringBuffer`。 **知识点:** - **`String`**:不可变字符串类,适用于不需要修改字符串的场景。 - **`StringBuffer`**:可变字符串类,适用于频繁修改字符串的场景。 #### 10. 字符集转换 题目展示了如何将一个字符串从ISO-8859-1编码转换为UTF-8编码。 **知识点:** - **字符编码转换**:使用`getBytes`方法获取字节数组,再使用指定的编码重新创建字符串。 #### 11. JSP页面指令 题目涉及到了JSP页面的几个指令。 **知识点:** - **`errorPage`**:指定当前页面发生错误时重定向的页面。 - **`contentType`**:指定响应的MIME类型和字符编码。 #### 12. Servlet生命周期 题目询问了Servlet的生命周期。 **知识点:** - **初始化阶段**:通过`init()`方法进行初始化。 - **服务阶段**:通过`service()`方法处理客户端请求。 - **销毁阶段**:通过`destroy()`方法释放资源。 #### 13. JSP特殊变量 题目提到了JSP中的几个特殊变量。 **知识点:** - **`request`**:封装客户端请求的数据。 - **`response`**:用于向客户端发送响应。 - **`pageContext`**:提供对JSP页面上下文的访问。 - **`session`**:用于存储用户的会话数据。 - **`application`**:用于存储全局应用程序范围的数据。 - **`out`**:用于输出文本到客户端。 - **`config`**:提供对Servlet配置信息的访问。 - **`page`**:表示当前JSP页面。 - **`exception`**:表示未处理的异常。 #### 14. String比较 题目询问了如何比较两个字符串的值是否相等。 **知识点:** - **`equals()`方法**:用于比较两个字符串的值是否相同。 #### 15. Java类型自动装箱 题目涉及到了Java中的类型自动装箱。 **知识点:** - **类型自动装箱**:基本类型自动转换为对应的包装类类型。 #### 16. Document对象的方法 题目询问了`Document`对象的几个方法。 **知识点:** - **`parentWindow`**:指向当前文档所在的窗口。 - **`images`**:获取文档中的所有图像元素。 - **`forms`**:获取文档中的所有表单元素。 - **`all`**:获取文档中的所有元素。 - **`cookie`**:获取或设置文档的Cookie。 - **`styleSheets`**:获取文档中的所有样式表。 #### 17. J2EE架构 题目涉及到了J2EE架构下的几个技术栈。 **知识点:** - **Struts**:MVC框架。 - **Hibernate**:ORM框架。 - **MyBatis**:SQL映射框架。 - **Ajax**:异步通信技术。 - **Tomcat**:应用服务器。 - **EJB**:企业级JavaBean。 #### 18. JSP+JS+Tomcat+SQL 题目展示了基于JSP、JavaScript、Tomcat和SQL的技术栈。 **知识点:** - **JSP**:Java Server Pages,用于生成动态网页。 - **JavaScript**:前端脚本语言,用于实现交互功能。 - **Tomcat**:轻量级应用服务器,用于部署Java Web应用。 - **SQL**:Structured Query Language,用于数据库操作。
- zmjkey2014-03-08很好,笔试的题差不多
- yulinling12302013-10-11很实用,就是数量有点少,积分要的很高
- 粉丝: 5
- 资源: 30
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助