JavaScript面试总结.docx_第1页
JavaScript面试总结.docx_第2页
JavaScript面试总结.docx_第3页
JavaScript面试总结.docx_第4页
JavaScript面试总结.docx_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.JavaScript1.1.介绍:嵌入式脚本语言,浏览器执行,它是以字符串解析执行的,它是一种基于对象的语言,不具有封装,继承,多态等特点。1.2.核心:1.事件,2.对象(Bom,Dom).1.3.js是事件驱动语言:1.区分大小写.2.每句话后分号可有可无(最好有).3.注释和java一样.4.弱类型语言.1.4.有两种数据类型: 1.原始数据类型:放在栈里的简单数据类型(值在变量的地址).(boolean,String,undefind,null,Number.) 2.引用数据类型:放在堆里的复杂数据类型. 2.Array对象-提供对创建任何数据类型的数组的支持。2.1.concat 方法 (Array)-返回一个新数组,这个新数组是由两个或更多数组组合而成的。2.2.join 方法-返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来2.3.pop 方法-移除数组中的最后一个元素并返回该元素2.4.shift 方法-移除数组中的第一个元素并返回该元素。2.5.unshift 方法-将指定的元素插入数组开始位置并返回该数组。2.6.push 方法-将新元素添加到一个数组中,并返回数组的新长度值。结束位置2.7.slice 方法 (2,4)-返回一个数组的一段。2.8.splice 方法-从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。2.9.toLocaleString 方法-返回一个日期,该日期使用当前区域设置并已被转换为字符串。 3.Boolean 对象-创建新的 Boolean 值。 4.Date对象-启用基本存储器并取得日期和时间 5.Error对象-保存有关错误的信息。 6.Global 对象-把所有全局方法集中在一个对象中.6.1.escape(str) 方法-对 String 对象编码以便它们能在所有计算机上可读,;6.2.unescape(str) 方法-解码用 escape 方法进行了编码的 String 对象。6.3.eval 方法-检查 JScript 代码并执行. eval(codeString),这个字符串将由 JScript 分析器进行分析和执行6.4.isNaN 方法-返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。 7.Math 对象-是一个固有对象,提供基本数学函数和常数。7.1.alert(Math.round(1.5); /四舍五入 8.Number 对象-代表数值数据类型和提供数值常数的对象。 9.String 对象-可用于处理或格式化文本字符串以及确定和定位字符串9.1.在每个空格字符处进行分解。-var ss = s.split(-); 10.typeof 返回原始值类型10.1.typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能:number, string, boolean, object, function, 和 undefined. 11.instanceof 判断对象类型 12.this表示:永远都指向调用它的那个对象-不加this,undefined - this . 13.prototype原型13.1.prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。 14.定义方法的方式:结构体,对象引用(定义是私有的),通过原型(定义是公共的)14.1.结构体 function pe().1.1-pe = function()1.2-HashMtotype = size :function()return this.elements.length;,put.14.2.对象引用 s1.q1 = function()alert(I am q1.);14.3.原型 totype.fun1 = function()alert(我是原型220); 1.constructor:对创建对象构造器的引用var date = new Date();var d = date.constructor;var ss = new d();/alert(ss.getDay(); 2.StringBufferappend-push(value);toString-join(,);以及在Java 里面StringBuffer与String的区别 3.className-p标签颜色改变,引用cssp.className=oa; -css 里面.oa; 4 4.1-getElementsByTagName-获得目标对象. var img = document.getElementsByTagName(img); 4.2-getElementById-通过id获得标签对象 var p = document.getElementById(pa); 5.arguments-类似于数组, 但是不能用join(); length属性表示参数列表的长度.- 方法重载 66.1-clearInterval 使用 setInterval 方法取消先前开始的间隔事件。 6.2-clearTimeout 取消先前用 setTimeout 方法设置的超时事件。 6.3-setInterval 每经过指定毫秒值后计算一个表达式。 6.4-setTimeout 经过指定毫秒值后计算一个表达式。 7.定义对象的三种方式/1.var obj = new Object(); = 123d;/alert();/2.var obj = x:123123,y:aaa;alert(obj.y);/3。function point() 8.动态创建span对象document.createElement(span);span.innerText=.;span.attachEvent(onclick,fn);/把span对象追加到div后面var div = document.getElementById(sss);div.appendChild(span); 9.图片显示var img = document.createElement(img);body.appendChild(img); /动态创建img对象i = window.setInterval(fun(),1000);定义一个变量 i进行 window.clearTimeout(i) 控制暂停.onmouseover 当用户将鼠标指针移动到对象内时触发。onmouseout 当用户将鼠标指针移出对象边界时触发。 10.计时器,HashMap. 1.document.cookie -短期-关闭浏览器,cookie结束,长期-存于本地1.1.介绍:JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制.(cookie文件存储于documents and settingsuserNamecookie文件夹下)1.2.可以作为全局变量,这是它最大的一个优点.用于: 1.2.1.保存用户登录状态。例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了. 1.2.2.跟踪用户行为,例如一个天气预报网站,能够根据用户选择的地区显示,当地的天气情况上次用户所在地区的天气情况. 1.2.3.定制页面。如果网站提供了换肤或更换布局的功能,那么可以使用cookie来记录用户的选项.背景,分辨率. 1.2.4.创建购物车。正如在前面的例子中使用cookie来记录用户需要购买的商品一样,在结账的时候可以统一提交。例如淘宝网就使用cookie记录了用户曾经浏览过的商品,方便随时进行比较。 1.3.cookie的缺点主要集中于安全性和隐私保护。主要包括以下几种: 1.3.1.cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能; 1.3.2.cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的 1.3.3.cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除; 1.3.4.cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。 1.4.设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie=userId=828;/document.cookie =key+=+value+;expires=+date.toGMTString(); 2.insertRow.主要用到的方法有: var tr = table.insertRow();/插入行. var td = tr.insertCell();/插入列. td.innerText = +i;/置或获取位于对象起始和结束标签内的文本。 tr.appendChild(td);/列加入指定行. table.appendChild(tr);/行加入指定表格. !this是button对象button.td(parentNode).tr.table .removeChild(button.td.tr); -删除指定行. 3.new操作1.当解析器遇到new 并操作的时候创建空对象.2.开始运行A()函数,并将this指针指向新建的对象.3.当给对象不存在的属性赋值的时,解析器就会为该对象创建该属性.这样A()函数的执行就是初始化空对象的过程.4.当函数执行完成以后,new操作符就会返回该对象.(早绑定,晚绑定) 4.继承1.构造继承 1.1.this.newMethod = A;/将A的地址(引用)赋给newMethod.-A为父类this.newMethod(admin,永州);/继承属性(方法)到this关键字里面.获取子类的实例调用父类的方法.2.冒充继承call 2.1.父类.call(子类对象,parmers.);.3.冒充继承apply 3.1.父类.apply(子类对象,Array).4.原型继承 4.1.E.prototype = new A(lishi,北京);-A为父类,E为子类,.5.copy继承 5.1 G.prototype.method1 = F.prototype.method1; /F为父类 5.2 for(var par in F.prototype) /1.1种方式. G.prototypepar = F.prototypepar; 5.3 var str = method1;G.prototypestr = F.prototypestr; 5.计算器. 6.冒泡排序. 正则表达 1.作用 1.1.测试字符串的某个模式(电话号码模式或一个信用卡号码). 1.2.替换文本. 1.3.根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字 2.语法 由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式1.量词 ? 零次或一次 * 零次或多次 + 一次或多次 n匹配n次 n, 至少n次 n,m n到m次 (mn).2.预定义类(系统已经做好了的.) s 匹配一个空白字符 nrtfx0B w 数字,字母,下划线 a-zA-Z0-9_ d 数字 0-9 S 匹配一个非空白字符 nrtfx0B W 非数字,字母,下划线 a-zA-Z0-9_ D 非数字 0-93.选项标志 可以组合使用. g 全文查找. i 忽略大小写. m 多行查找.4.其他 转义字符 匹配输入字符串的开始位置. 取反. $ 匹配输入字符串的结束位置. . 一个任意字符.5.两种声明方式 1,new 一个RegExp var reg = new RegExp(); RegExp是一个对象,和Array一样 var reg = new RegExp(a,gi); 匹配所有的a或A 2,字面量的声明方式/d+/ /u4e00-u9fa52,/ 验证汉字 3.正则表达式对象的方法及使用 1.test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。如果存在则返回 true,否则就返回 false。 reg.test(str); 2.exec,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。只要匹配的到的话就直接取出bin返回reg.exec(str); 3.compile,把正则表达式编译为内部格式,从而执行得更快。 4.match,它就是将所有匹配的内容,以数组的形式全部返回.str.match(reg); 5.元字符 匹配正则表达式本身时,必须对这些元字符转义. /?( $ | ) ? * + .var re = /?/;/将匹配? re = new RegExp(?);/正确,将匹配?/双重转义 脱字符 ,$ var reg = /as/gi;/表示必须要以as开头. 6.简单类(字符类) var re = /abc123/;/将匹配abc123这6个字符中一个 只要有一个就可以了 7.反向类 re = /abc/;/将匹配除abc之外的一个字符 8.范围类 re = /a-z/;/将匹配小写a-z 26个字母 9.组合类 re = /a-z0-9A-Z_/;/将匹配字母,数字和下划线 10.预定义类. s,S w,W d,D 分组 var reg = /(a-z+)(s+)d+/; 创建的两种方式1.var reg = new RegExp(as,gi);2.var reg = /as/gi;其他 1.replace() 替换 str.replace(/-+/g,*) str.replace(/s+/g,)去空格. 2.split() 拆分 str.split(/d/) 对数字进行拆分. 3.search(); 找位置str.search(/d/),找数字出现的位置, 4.str.indexOf(1) 找位置 /不能放正则表达式 4.贪婪量词与惰性量词1.贪婪量词:如果是整个匹配就直接将全部的返回,要是整体不匹配就从后往前匹配,直到碰到不匹配的, 就将匹配到的返回,继续匹配剩下的.(+,?,*,n,n,n,m); var str = abb#asdfdbbbsaiouisbbb; var reg1 = /w+bbb/; /w+bbb表示一个或多个字母或数字,下划线加上bbb. /alert(reg1.exec(str)+|+n+str.match(reg1);/asdfdbbbsaiouisbbb /匹配了继续匹配剩下的.2.惰性量词:?它首先将第一个字符当成一个匹配,如果成功则退出,如果失败,则测试前两个字符, 依些增加,直到遇到合适的匹配为止.(+?,?,*?,n?,n,?,n,m); var str = absdbas*dfdbbbsaisdfouisbbb; var reg1 = /w+?bbb/; /-匹配到了就不在匹配了 /alert(reg1.exec(str)+|+n+str.match(reg1);/dfdbbb 闭包1.介绍:调用函数,返回函数.闭包有返回,返回的是最终值.2.作用:闭包保护栈,保护资源.3.特点 1.作为一个函数变量引用.当函数返回时,处于激活状态. 2.闭包就是当一个函数返回时,一个没有释放资源的栈区. 动态插入表格 全JavaScript.首先调用init(随便定义的方法)方法. BOM 浏览器对象模型(地址栏上面的)1.什么是BOM?(BOM体系结构图) 1.BOM是Browser Object Model的缩写,简称浏览器对象模型 2.BOM提供了独立于内容而与浏览器窗口进行交互的对象 3.由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window 4.BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性 5.BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C. 6.BOM最初是Netscape浏览器标准的一部分2.BOM的作用 BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口, 弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。 但BOM最强大的功能是它提供了一个访问HTML页面的一入口document对象, 以使得我们可以通过这个入口来使用DOM的强大功能!3.window对象. 1.window对象是BOM中所有对象的核心.window还可用于移动或调整它表示的浏览器的大小 2.window子对象 document 对象,frames 对象,history 对象,location 对象,navigator 对象,screen 对象. 3.window对象关系属性 parent:如果当前窗口为frame,指向包含该frame的窗口的frame (frame) self :指向当前的window对象,与window同义。 (window对象) top :如果当前窗口为frame,指向包含该frame的top-level的window对象 window :指向当前的window对象,与self同意。 opener :当窗口是用javascript打开时,指向打开它的那人窗口(开启者)4.window对象的方法 1.窗体控制 moveBy(x,y)从当前位置水平移动窗体x个像素,垂直移动窗体y个像素,x为负数,将向左移动窗体,y为负数,将向上移动窗体 moveTo(x,y)移动窗体左上角到相对于屏幕左上角的(x,y)点,当使用负数做为参数时会吧窗体移出屏幕的可视区域 resizeBy(w,h)相对窗体当前的大小,宽度调整w个像素,高度调整h个像素。如果参数为负值,将缩小窗体,反之扩大窗体 resizeTo(w,h)把窗体宽度调整为w个像素,高度调整为h个像素 2.窗体焦点控制 focus() 使窗体或控件获取焦点 blur()与focus函数相反,使窗体或控件失去焦点 3.新建窗体 open()打开(弹出)一个新的窗体window.open(url, name, features, replace); close()关闭窗体 opener属性新建窗体中对父窗体的引用,中文开启者的意思5.对话框 alert(str) 弹出消息对话框(对话框中有一个“确定”按钮) confirm(str) 弹出消息对话框(对话框中包含一个“确定”按钮与“取消”按钮) prompt(str,defaultValue)弹出消息对话框(对话框中包含一个“确定”按钮、“取消”按钮与一个文本输入框)6.Location 对象 -jsp页面进行数据传送window.location.href = 3_success.html#id=123,name=sss; 1.hash 设置或返回从井号 (#) 开始的 URL(锚)var str = window.document.location.hash; 2.search 设置或返回从问号 (?) 开始的 URL(查询部分)var str = window.document.location.search;7.Navigator对象 1.appName 返回浏览器的名称 2.appVersion 返回浏览器的平台和版本信息.8.框架 alert(frames.length);/框架的数目 alert(frames0.document.body.innerHTML);/使用下标直接获取对框架中窗口的引用 /不但可以使用下标,还可以使用frame标签的name属性 alert(framesframe1.document.title);在框架集中还可以使用ID来获取子窗口的引用 var frame1 =document.getElementById(frame1);/这样只是获取了标签 var frame1Win = frame1.contentWindow;/frame对象的contentWindow包含了窗口的引用 /还可以直接获取框架中document的引用 var frameDoc = frame1.contentDocument; alert(frameDoc);/但IE不支持contentDocument属性子窗口访问父窗口window对象的parent属性子窗口访问顶层window对象的top属性 IFrame可以局部刷新 DOM 文本对象模型(地址栏下面的范围框里面的) 通过正则表达式对输入框进行校验,利用焦点事件(onblur 在对象失去输入焦点时触发。) DOM 文本对象模型1.什么是DOM? 1.Document Object Model (DOM)是HTML和XML文档的编程接口。它提供了上述文档的一种结构化表示, 同时也定义了一种通过程序来改变文档结构,风格,以及内容的方式。DOM用一组结构化的节点以及对象来表示文档。 本质上就是将网页和脚本语言以及编程语言连接起来。 2.DOM是网页的一种完全的面向对象的表示方法,可以通过脚本语言(比如说JavaScript)来改变。 DOM标准主要要为:微软DOM与W3C DOM,一般IE实现的是微软DOM,而其它浏览器则不同程度的实际了W3C DOM2.DOM发展史-. DOM Level Zero ,事实上从来不存在DOM 0版本,只是人们的戏称。 DOM Level 1 包括DOM Core和DOM HTML。前者提供了基于XML的文档结构图。 DOM Level 2 引入几个新模块:DOM视图,事件,样式,遍历和范围。IE只实现了一部分,火狐浏览器几乎全部实现, DOM Level 3 引入了以统一的方式载入和保存文档的方法(firefox只实现了一部分)。 API(网页或者XML页面)DOM JS(脚本语言)3.DOM与BOM关系结构图,文档对象模型-DOM,树型结构图.(BOM包括DOM)4.document有三个方法,可以获取页面的任何元素. 对三种获取页面元素方法的使用: 1.getElementById /通过ID获取对象var sss = document.getElementById(ddd);/alert(sss); 2.getElementsByName /通过name获取对象var sss=document.getElementsByName(firstName);/alert(sss1.value); 3.getElementsByTagName /通过目标获取对象var sss = document.getElementsByTagName(*); /*代表所有的节点元素./alert(sss.length); /火狐和IE所输出的length值不同.for(var i =0;isss.length;i+)/alert(sssi.tagName); /4.getElementsByClassName/var m = document.getElementsByClassName(xxx);/兼容firefox 不兼容ie5.节点(ie 与 火狐Firefox 的兼容性-ie6.0有些属性不支持) 1.获取根节点 var de = document.documentElement; /输出html 2.获取head与body var head = document.getElementsByTagName(head)0;/输出head,body的获取方式与得到head一样的. 3.元素节点文档中具有标签的节点1,文本节点标签中不是注释的文本块3 4.常用的节点属性1.nodeType节点类型,元素节点是1,文本节点是3.2.nodeValue节点值,元素节点为空,文本节点的nodeValue属性即为文本内容.3.firstChild该元素节点包含的第一个子节点.4.lastChild该元素节点包含的最后一个子节点.5.nextSibling该节点的后一个兄弟节点.6.nodeName节点名称,对于元素节点,返回tagName,对于文本,则返回#text function nextSibling(node) var n=node.nextSibling;if (n!=null & n.nodeType=3 & /s+$/.test(n.nodeValue) return n.nextSibling;return n;6.previousSibling该节点的前一个兄弟节点(火狐在打开firebug的时候,浏览器自动加一个div,关闭就可以了)7.childNodes子节点列表,可以通过node.childNodesindex(或node.childNodes.item(index))来获取子节点 事件(Event)6.一般事件 onclick鼠标点击时触发此事件 ondblclick鼠标双击时触发此事件 onmousedown按下鼠标时触发此事件 onmouseup鼠标按下后松开鼠标时触发此事件 onmouseover当鼠标移动到某对象范围的上方时触发此事件 onmousemove鼠标移动时触发此事件 onmouseout当鼠标离开某对象范围时触发此事件 onkeypress当键盘上的某个键被按下并且释放时触发此事件. onkeydown当键盘上某个按键被按下时触发此事件 onkeyup当键盘上某个按键被按放开时触发此事件7.页面相关事件 onabort图片在下载时被用户中断 onbeforeunload当前页面的内容将要被改变时触发此事件 onerror出现错误时触发此事件 onload页面内容完成时触发此事件 onmove浏览器的窗口被移动时触发此事件 onresize当浏览器的窗口大小被改变时触发此事件 onscroll浏览器的滚动条位置发生变化时触发此事件 onstop浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断 oncontextmenu当弹出右键上下文菜单时发生 onunload当前页面将被改变时触发此事件8.表单相关事件 onblur当前元素失去焦点时触发此事件 onchange当前元素失去焦点并且元素的内容发生改变而触发此事件 onfocus当某个元素获得焦点时触发此事件 onreset当表单中RESET的属性被激发时触发此事件 onsubmit一个表单被递交时触发此事件 onselect当元素被选择时执行9.解决每一个对象只能注册一个事件的问题 1.需要将所有函数一次添加进去,但不能在运行时添加.obj.onclick = function () /不能重复进行函数互用.fn1();fn2();fn3(); 2.利用事件覆盖原理,切换事件oDiv.onclick = toBig;function toBig()oDiv.className = big;oDiv.onclick = toSmall;function toSmall()oDiv.className = small;oDiv.onclick = toBig; 3.把this指针注册给toBig对象oDiv.onclick = function()toBig.call(this);/把this指针注册给toBig对象function toBig()this.className = big;this.onclick = toSmall;function toSmall()this.className = small;this.onclick = toBig; /4.getElementsByClassName/var m = document.getElementsByClassName(xxx);/兼容firefox 不兼容ie10 事件传播冒泡与捕获. 1.介绍:DOM事件标准定义了两种事件流,这两种事件流分别是捕获和冒泡.Netscape选择实现了捕获事件流, 微软则实现了冒泡事件流,W3C决定组合使用这两种方法,并且大多数新浏览器都遵循这两种事件流方式。 默认情况下,事件使用冒泡事件流,不使用捕获事件流。 2.冒泡事件流(从小到大的冒泡)1.在遵从W3C标准的浏览器里可以通过调用事件对象上事件对象.stopPropagation()方法或通过设置事件对象的事件对象.cancelBubble属性为true,在Internet Explorer里可以通过设置事件对象的cancelBubble属性为true,不支持stopPropagation()。如果不停止事件的传播,事件将一直通过DOM冒泡直至到达文档根. 3.捕获事件流(大到小进行捕获)事件的处理将从DOM层次的根开始,而不是从触发事件的目标元素开始,事件被从目标元素的所有祖先元素依次往下传递。useCapture属性为true. 默认事件 ,-默认执行的事件. Ajax(Asynchronous JavaScript and XML 异步JavaScript和XML)DHTML-阿贾克斯1.介绍 1.描述从基于Web的应用到基于数据的应用的转换。 2.Ajax的核心是JavaScript对象XmlHttpRequest(异步请求的技术)。XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。 3.独立于 Web 服务器软件的浏览器技术,用于创建更好更快以及交互性更强的 Web 应用程序的技术。可以提高系统性能,优化用户界面2.主要包含的技术 基web标准(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)进行动态显示及交互 使用 XML 和 XSLT 进行数据交换及相关操作; 使用 XMLHttpRequest 进行异步数据查询、检索3.优点和缺点 优点 -更迅捷的响应速度无页面刷新,适合大量的数据例如:1.AJAX应用可以仅向服务器发送并取回必需的数据,2.使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据3.Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。 缺点1.不能发送图片只能传送字符串.2.不能跨站,跨域名发信息.4.Ajax有两种方式: 1.iframe 2.xmlhttp-XmlHttpRequest 5.get,post方式,同步异步区别 / readyState的取值如下:0-未初始化,1-正在装载,2-装载完毕,3-交互中,4-完成. 1.同步和异步的区别:1.同步适合少量数据,它是需要等待的,异步是适合大批量数据,它无需等待2.异步需要一个回调函数.异步需要在open和send之间加一个:XmlHttp.setRequestHeader(Content-Type,application/x-www-form-urlencoded);/消息头 2.get-send()不可以传参,1.同步var url = AjaxServlet.do?timerId= + (new Date().getMilliseconds();/创建一个请求对象(协议)var xmlHttpReq = new ActiveXObject(MSXML2.XMLHTTP.3.0);/打开链接,创建一个新的http请求(并指定此请求的方法、url、验证信息)xmlHttpReq.open(GET, url, false);xmlHttpReq.send();alert(getSyncRequest(); /执行完后台再输出./将响应信息作为字符串返回 Thread.sleep(3000); 3秒钟后连续输出.alert(xmlHttpReq.responseText); 2.异步-较同步的速度快./时间戳-缓存问题.var url = AjaxServlet.do?name=zhangsan&timerId=+ (new Date().getMilliseconds();/创建一个请求对象(协议)xmlHttpReq = new ActiveXObject(MSXML2.XMLHTTP.3.0);xmlHttpReq.onreadystatechange = HandleStateChange;/打开链接,创建一个新的http请求(并指定此请求的方法、url、验证信息)xmlHttpReq.open(GET, url, true);xmlHttpReq.send(age=444);/Get方式不能用send传参.alert(getNSyncRequest(); /先输出,再等待响应结果.function HandleStateChange() if (xmlHttpReq.readyState = 4) alert(HandleStateChange: + xmlHttpReq.responseText);/返回响应结果 3.post-send()可以传参,传参需要头文件信息.1.同步(open - false)var url = AjaxServlet.do?name=zhangsan&timerId=+ (new Date().getMilliseconds();/创建一个请求对象(协议)var xmlHttpReq = new ActiveXObject(MSXML2.XMLHTTP.3.0);/打开链接,创建一个新的http请求(并指定此请求的方法、url、验证信息)xmlHttpReq.open(POST, url, false);xmlHttpReq.setRequestHeader(Content-Type,application/x-www-form-urlencoded); /头文件xmlHttpReq.send(age=555&sss=ddd);alert(This postSyncRequest); /等后台执行完,再输出alert(xmlHttpReq.responseText);2.异步(true)/时间戳var url = AjaxServlet.do?name=zhangsan&timerId=+ (new Date().getMilliseconds();/创建一个请求对象(协议)var xmlHttpReq = new ActiveXObject(MSXML2.XMLHTTP.3.0);xmlHttpReq.onreadystatechange = HandleStateChange;/打开链接,创建一个新的http请求(并指定此请求的方法、url、验证信息)xmlHttpReq.open(POST, url, true);xmlHttpReq.setRequestHeader(Content-Type,application/x-www-form-urlencoded);xmlHttpReq.send(age=444); /post可以有send传参.alert(This postNSyncRequest);/先输出,再等待响应结果function H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论