ajax面试
选择题10道: 1. AJAX术语是由哪家公司或组织最先提出的? a. Google b. IBM c. Adaptive Path d. Dojo Foundation 正确答案:c 2. 以下哪一个Web应用不属于Ajax应用? a. Hotmail b. GMaps c. Flickr d. Windows Live 正确答案:a 3. 以下哪个技术不是Ajax技术体系的组成部分? a. XMLHttpRequest b. DHTML c. CSS d. DOM 正确答案:b 4. XMLHttpRequest对象有几个返回状态值? a. 3 b. 4 c. 5 d. 6 正确答案:c 5. 下列哪些方法或属性是Web标准中规定的? a. all() b. innerHTML c. getElementsByTagName() d. innerText 正确答案:c 6. 以下哪一个CSS属性不属于W3C的CSS2规范? a. list-style-position b. min-height c. float d. text-overflow 正确答案:d 7. 下列哪个工具不能用来调试浏览器中的JavaScript? a. MS Visual InterDev b. Eclipse c. MS Script Debugger d. Mozilla Venkman 正确答案:b 8. 应用以下哪一个DOCTYPE使得当前主流浏览器解释CSS的模式是Quirks mode? a. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> b. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> c. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 //EN"> d. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 正确答案:b 9. 关于JavaScript中的函数和对象,下列说法不正确的是: a. 每一个函数都有一个prototype对象。 b. 函数就是一个特殊类型的对象。 c. 函数附属于它所附加到的对象上,只能通过该对象访问。 d. 同一个函数可以被附属到多个对象上。 正确答案:c 10. 创建一个对象obj,该对象包含一个名为"name"的属性,其值为"value" 。以下哪一段JavaScript代码无法得到上述的结果? a. var obj = new Object(); obj["name"] = "value"; b. var obj = new Object(); obj.prototype.name = "value"; c. var obj = {name : "value"}; d. var obj = new function() { this.name = "value"; } 正确答案:b
简答题30道: 1.XMLHttpRequest是什么? XMLHttpRequest对象用于在后台与服务器交换数据,可以在不刷新当前页面的情况下,实现局部更新,是web应用架构的一项关键功能, 2.window ActiveXObject是什么? 可以判断浏览器是否支持ActiveX控件,支持的话可以创建XMLHttpRequest对象, 3.Microsoft.XMLHTTP是什么? 用于创建XMLHTTP的组件,代表IE浏览器 var xmlHttpRequest= new ActiveXObject("Microsoft.XMLHttp") 4.浏览器端如何得到服务器端响应的xml数据 XMLHttpRequest对象的responseXMl属性(xmlHttpRequest.responseXML) 5.XMLHttpRequest在IE与Firefox的创建方式的不同 Firefox:var xmlHttpRequest=new XMLHttpRequest(); IE:var xmlHttpRequest= new ActiveXObject("Microsoft.XMLHttp") 6.介绍一下XMLHttpRequest常用方法和属性 方法:1.open(method,url,async) method:请求方式get/post url:文件在服务器上的位置 async:同步(false)或异步(true) 2,send(String)将请求发送到服务器,仅适用于post请求方式 send()适用于get和post 属性:1.responseText:获取字符串响应数据 2.responseXML:获取响应为xml形式的数据 7.叙述ajax的优点和缺点 优点: 1):页面无刷新,提升用户体验 2):减轻服务器压力 3):直接使用。不需要下载插件 缺点: 1):安全问题
技术同时也对IT企业带来了新的安全威胁,ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、SQL注入攻击和基于credentials的安全漏洞等。
2):加重客户端负担。如果网速慢,浏览器容易死掉 3):开发成本较高 4):后退按钮没法用了 5):不支持手机端的浏览器 8.什么是XML? 可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的。适用于万维网传输
9.叙述ajax的4个基本原则
1.浏览器中的是应用而不是内容
2.服务端响应的不是内容而是数据
3.用户交互变得浏览而连续
4.有纪律的严肃编程
10.为什么需要ajax的富客户端?
由于富客户端技术可以支持运动的图象、视频、音频、双向的数据通信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境.+ajax优点
11.什么是json?
json是一种轻量级的数据交换格式,它基于javascript,是它的子集,独立于语言,更易理解
12.json的构建结构和具体形式
1.构建结构
1):对象:{key:value,key:value,...}
2):数组:["java","javascript","vb",...]
2.具体形式
对象:{“firstname”:"lisi","lastname":"wangwu"}
数组:[
{“firstname”:"lisi","lastname":"wangwu"},
13.现有用户数据包括用户名,密码,所在部门,性别,年龄。用xml表示如下
张三
123465
技术部
男
30
用json表示?
"张三":[
{"name":"张三"},
{"password":"123456","dep":"技术部"},
{"sex":"男"},
{"age":"30"}
]
14json与xml的区别
1):可读性
json是简易的语法,而xml是一种规范,格式更加让人清晰,所以xml可读性更强些
2):可扩展性
xml可以扩展成任何你想要的东西,而json不能,但是json可以存储javascript的符合对象,xml则不能
3):写法比较
xml可读性强,结构层次清晰明了,但是写起来字符要比json多,对于机器来说,读起json来更加容易
4):编码难度
xml有dom4j,jdom等丰富的编码工具,json也有,
5):解码难度
xml的解析方式有文档对象模型方式(getElementsByTagName("haha"))和遍历节点,但是当xml文档很长的时候,解析起来非常伤脑筋
6):数据交换格式比较
xml适合标记文档,而json更适合数据的交换处理
15.为什么要用json?
它给我们的网络传输带来很大的便利,当要实现异步传输组织数据传送的时候,我们会首选json,因为它传送的数据量小,而且写法更简洁,服务器端
给我们响应会数据的时候,转换为json查询数据更合适
16.javascript什么是prototype原型对象
在JavaScript中,prototype对象是实现面向对象的一个重要机制。每个函数就是一个对象(Function),函数对象都有一个子对象prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一个类的成员的集合。在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。 17.prototype原型对象作用
1):为对象添加属性值
2):删除对象的属性值后。,原型并不会消失,只是恢复了默认值
3):对象给原型属性赋值之后,对象的所有实例都有该值
18.DOJO
Dojo是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets,Burstlib,f(m)),这也是为什么叫它a"unified"toolkit的原因。Dojo的目标是解决开发DHTML应用程序遇到的那些,长期存在、历史问题(historical problems with DHTML)。跨浏览器问题。
20.叙述javascript
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是的浏览器Navigator加入了Javascript,提供了数据验证的基本功能,js的作用也主要在实现网页的一些特效,css难以实现的特效,通常和Jquery,Ajax,联合使用.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |