传知_4_ajax

来源:互联网 发布:unity3d 3dsmax 编辑:程序博客网 时间:2024/06/05 07:40
定义匿名han数第一种方法:var qq = New Function(形参1,形参2,.... 形参N, ” 执行 ”);第二种方法:var qq = function(形参1,形参2,.... 形参N) { }第三种方法: 可以在han数里定义局部han数JS可以定义类,每当你写一个JS han数时,总会得到一个与之对应的类function Person (){This.name = name;This.age = age;This.hello = function(){ } Person.number = 2 ;}Var p = new Person(“”,””);Alert(p.name);Alert(p.age);//Person(“”,””)既可以当成类用(通过new 来调用),也可以当成han数(直接调用此han数)规范:类用大写,han数用小写实例属性前面要用this.静态属性是属于整个类的,通过类来访问, 前面要用 类名.C#,Javascript里静态变量只能通过类来访问但Java里也可以通过对象来访问,不规范递归han数对象:Var dataHolder = {a:6 , b:9};方法的参数传递(值传递),传递的是参数的副本,并不是本身 DEMO与java一样但c#功能就更强大Java支持方法的重载:方法名相同,形参类型、个数不同。与返回值类型无关Js不支持重载Js允许调用han数时,传入的实参比han数声明的形参少可以传入空参数Java 强类型语言 更健壮 静态Js弱类型语言 han数参数不指定类型 动态Ra子类型DMEOJs里所有的值都可以当成布尔值来用,比如上面的 判断dd.setAge 就可以判断是否有此han数setAgeJS不是面向对象,是基于对象的JS的类与类(当我们定义一个han数时,立即得到一个与之对应的类),之间没有继承关系,也无法指定继承关系JS定义的所有类,都继承了JS内置的Object类Js的对象本质上就是一个键值对,与java的map相类似可以动态地为JS增加属性和方法可以动态地为JS 类增加属性和方法,利用prototype 关键字,性能好Person.prototype.hello() { }Person.prototype.name = ....;var test = function(a , b , c){alert(" a :" + a);alert(" b :" + b);alert(" c :" + c);}//Java支持方法的重载:方法名相同。形参类型、个数不同。与返回值类型无关。//这说明JS不支持函数重载!//JS允许调用函数时,传入的实参比函数声明的形参少, 允许空参数test(1);JS静态属性,只能通过类名(也就是函数名)来访问;JS的实例属性,只能通过实例来访问。通常用这种语法:定义类三种方法: Function aa() { } //用new关键字来调用han数,当成类用Var aa = new object() //很少使用JSON 记住两点:{}是对象, []是数组; 定义han数:var aa = function() { } 也可以这样定义一个数组:activeBlock = new Array(4);//这种定义函数的语法通常用于定义类function Person(name , age){//当我们用new来调用该函数时,此时的Contex是Person函数类,//因此this代表当前所创建的Person对象。this.name = name;this.age = age;}var p = new Person("aa" , 12);alert(p.name + "-->" + p.age);var test = function(name , age){//如果只是直接调用该函数,那么函数内的this就代表window.this.name = name;this.age = age;}test('aa' , 12);alert(window.name + "-->" + window.age);JSON混合实例:var charCountArr = [];var charCount = {};DOM (Document Object Model )还有如下常用的XHTML元素:HTMLDocument对应XHTML文档本身HTMLBodyElement对应XHTML文档的控件HTMLDivElement对应XHTML文档的普通的
控件HTMLFormElement对应XHTML文档表单控件HTMLSelectElement对应XHTML文档列表框架、下拉菜单控件HTMLOptionElement对应XHTML文档列表框架、下拉菜单的选项控件HTMLInputElement对应XHTML文档单行文本框、密码框、按钮等控件HTMLTableElement对应XHTML文档中的表格控件HTMLTableCaptionElement对应XHTML文档中的表格的标题控件HTMLTableColElement对应XHTML文档中的表格的列控件HTMLTableCellElement对应XHTML文档中的表格的单元格控件HTMLULElement对应XHTML文档中的有序列表控件HTMLOLElement对应XHTML文档中的无序列表控件HTMLLIElement对应XHTML文档中的列表项控件访问html元素根据 id getElementByIdgetElementsByTagNamedocument.getElementById("A").getElementsByTagName("div") //g一层一层的用attributes 返回元素的属性的 NamedNodeMap 5 1 9 YeschildNodes 返回元素的子节点的 NodeList 5 1 9 Yes object.childNodes(iIndex)firstChild 返回元素的首个子节点 5 1 9 YeslastChild 返回元素的最后一个子节点 5 1 9 Yes根据节点关系 DEMO父元素:parent 上一个节点:previousSibling 下一个节点:nextSibling访问表单域控件.. DEMO ---一个表单不是的提交按钮提交到不同的urlThis.parentNode.lengh 表单数This.parenNode.elements[0].value = “ddd” elements好像只适用于表单访问下拉列表控件/列表框的(都是由seleted组成) DEMOhtmlSelectElement.options属性来获取...options[select.length -1].selected = true获取最后一个...options[select. selectedIndex -1].selected = true获取上一个 访问表格子元素 Rows[]指定的行Cells[]指定的列Rows[0].cells[0].innerHTML Caption:返回此表格的标题对象。可通过修改此属性来改变表格的标题。HTMLCollection rows:返回此表格里的所有表格行,此属性会返回元素里的所有表格行。只读属性HTMLCollection Bodies:返回此表格里所有元素tFoot:返回此表格里的 元素tHead:返回此表格里的所有sectionRowIndex:返回此表格行在其所在元素( 等元素)的索引值。只读属性HTMLTableCellElement代表单元格,HTMLTableCellElement除了可使用普通的html 元素的各种属性和方法外,还支持如下额外属性:cellIndex:返回此单元格所在表格行内的索引值//删除所有行t.firstChild.removeNode(true)x.parentNode.removechild(x);//删除子节点var oChild = Div1.children(0);Div1.removeChild(oChild);Table.deleteRow(1);//增加一行t.insertRow();document.all.tags("P");document.getElementById("inner").firstChild动态表格.html动态增加表单预算DEMOvar aNodeList = oParentNode.childNodes;childNodes()object.children(vIndex [, iSubIndex]) var addRow = table.children[0].cloneNode(true) ;table.appendChild(addRow) ;var addRow = table.firstChild.cloneNode(true) ;table.appendChild(addRow) ;添加节点:1.创建节点document.createElement(“合法标签”),复制一个新节点,oldNode.clone(true);2.指定元素的appendChild:inserBefore : 在某个节点之前插入replaceChild : 将某个子节点替换成新节点如需要为列表框、下拉菜单(由select元素生成)1.调用HTMLSelectElement的add(option,beforeBefore)方法添加2.直接为HTMLSelectElement的指定Option赋值复制节点:var oCloneNode = oList.cloneNode(true);document.body.insertBefore(oCloneNode);var table = document.getElementById("ta");var addRow = table.rows[1].cloneNode(true) ; table.appendChild(addRow) ;替换节点:var oNewNode = document.createElement("OL");oList.replaceNode(oNewNode);删除节点:普通的removeChild(oldNode)document.getElementById("table").firstChild.removeNode(true);如果需要为下拉列表、下拉菜单(由select)x.parentNode.removechild(x);//删除子节点DHTML包含关系图:WindowNavigator farames location history document screen event....All body forms anchors lonks images...ElementsDocument.images[0]Document.images[id]相当于 Document.images.idDocument.forms[0]form.elements[0].value而Document.all是早期的DOM模型,一般不要去用它 (在fireFox3里已经不支持了)Window对象:可以直接在脚本中调用Alert() confirm() prompt() 分别用于弹出警告对话框、确认对话框、和提示输入对话框Close() 关闭窗口Focus() blur() 让窗口获得焦点,推动焦点moveBymoveTo 移动窗口open 打开一个新的顶级窗口print 打印当前窗口或frameresizeBy resizeBy 重设窗口的大小scroolBy scrollTo 滚动当前窗口中的HTML文档setInterval clearInterval 设置 删除定时器setTimeout clearTimeout 设置定时器window还提供如下的常用属性,通过这些属性即可访问window对象包含的一系列对象,例如location history:closed 返回一个布尔值,用于判断窗口是否处于关闭状态defaultStatus status 返回浏览器栏的文本document 返回此窗口内装载的XHTML文本frames[] 返回此窗口内包含的Frame对象,每个Frame对象又是一个window对象(框架集)history 返回浏览历史location 返回浏览当前页面的浏览器name 返回此窗口的名字navigator parent 如果当前窗口是一个Frame,则返回其直接父窗口screen 当前浏览者的屏幕对象self 返回自身top 如果当前窗口是一个Frame,则此属性返回包含文本Frame的顶级父窗口jsscript弹出窗口:alert confirm promptwindow对象:if(confirm("是否确认删除邮件")){alert("邮件已经被删除");}else{alert("您取消了此邮件的删除操作");}var password = prompt("请输入你的密码"," ");alert(password );jsscript弹出窗口:alert confirm promptwindow对象:if(confirm("是否确认删除邮件")){alert("邮件已经被删除");}else{alert("您取消了此邮件的删除操作");}var password = prompt("请输入你的密码"," ");alert(password );网站弹出框关闭后就不再打开:Document.cookie = “name = waedasd;max = 234234”; //加入cookie //读取cookieFunction getCookie(name){Var cookieStr = document.cookie ;Var offset = cookieStr.indexOf(“name” + name.length + 1) ;Var end = cookieStr.indexOf(“;” , offset);If(end == 1){End = cookie.}} {...setTimeout(“fall()” , 300); //每次都执行}setInterval(“fall()” , 300);//简洁点访问历史:Window的history属性是一个History对象,此对象表示当前窗口的浏览历史,支持如下方法:Back():后退到上一个,如果此页面是第一个打开的,则此方法没有任何效果Forward() 前进到下一个浏览的页面,前提是之前使用了back或goGo(intValue)可指定前进或后退多少个页面,其中intValue控件前进、后退的页面数。其中为正时,表示前进,为负时,表示后退浏览器对象:Window的navigator属性是一个Navigator对象,appName:此浏览器的内核名称appVersion:当前版本号platform:返回当前浏览器所在的操作系统访问页面URL:Window对象还包含一个location属性,用于访问此窗口或Frame所装载文档的地址。Location对象还包含了如下几个常用属性。Hostname.... window.location[“host”]Window对象的screen属性,返回当前浏览者的屏莫对象window.screen[“width”]CookieAddcookieDEMO document.cookie = "favoriate=game;max-age=999999";ReadCookieDEMOloop:...for()..break loop;JS事件机制绑定事件处理han数的方法:绑定到HTML元素的onXXX属性,HTML元素属性的属性值是一条或多条可执行的JS代码绑定到DOM元素的onXXX属性,DOM对象的onXXX属性应该是此han数的引用JS中this关键字。到底代表谁?1. 如果在普通脚本中,this代表window。2. 如果在函数中使用this关键字。 A。如果直接调用函数,this还是代表window。 B。如果用new来调用函数,也就是把函数当成类来用。 函数中this就代表该函数所创建的对象。3. 当我们为DOM对象的onxxx属性分配一个函数时, 该函数中this就代表该DOM对象。4. 当我们为DOM对象的onxxx属性分配某个对象某个方法时, 该函数中this不再代表原有的对象,而是代表该DOM对象。5. 如果一段JS脚本(一条或多条JS执行性代码)设置HTML元素onxxx属性时, 该JS脚本中的this代表当前绑定脚本的HTML节点。Onclick = “return confirm(“真的要删除吗?’)”DEMOthis.form.submit();常见HTML元素触发事件ClickBlur