javaScript 笔记.docx_第1页
javaScript 笔记.docx_第2页
javaScript 笔记.docx_第3页
javaScript 笔记.docx_第4页
javaScript 笔记.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

javaScript简介一、组成和局限:组成: 1.核心(ECMAScript)JavaScript的核心ECMAScript描述了该语言的语法和 基本对象 2.文档对象模型(DOM)DOM描述了处理网页内容的方法和接口 3.浏览器对象模型(BOM)BOM描述了与浏览器进行交互的方法和接口:局限:1.JavaScript不允许读写客户机器上的文件。2.JavaScript不允许写服务器机器上的文件。3.JavaScript不能关闭不是由它自己打开的窗口。4.JavaScript不能从来自另一个服务器的已经打开的网页中读取信息。二、变量和运算符:JavaScript的基本变量类型:字符、数字,布尔值这三种,复合(引用)数据类型是: 对象 、 数组特殊数据类型是:Undefined数学运算符:+,-,*,/比较操作符:,=,=,!=,!;比较操作符返回布尔值逻辑运算符:& | !变量类型: typeof (str) ; isNaN(num)三、分支结构和循环结构分支结构:1.单一选择结构(if)2.二路选择结构(if/else)3.内联三元运算符 ?:4.多路选择结构(switch) switch(condition) /switch不但可以用来判断数字,还可以判断字符串,甚至是不定的变量 case one: alert(condition的值是字符串one !); break; case five: alert(condition的值是字符串five !); break; default:/当所有情况都不匹配时,将执行default语句后的 alert(我们要万无一失!condition什么都不是!);循环结构:循环用来指明当某些条件保持为真时要重复的动作。当条件得到满足时,就跳出循环语句。在 JavScript 中有四种循环结构可用。1.由计数器控制的循环(for)2.在循环的开头测试表达式(while)3.在循环的末尾测试表达式(do/while)4.对对象的每个属性都进行操作(for/in)四、函数和内置对象函数:function demo() 数字: Math.random(); String: var str =new String(); str.indexOf(s)日期:var d = new Date(); 数组: var arr = new Array(); var arr=, arr = 2,3,4,6; var arr = new Array(1,2,3,4,5,6,7,8); 添加多个元素 arr.push(a,b); 删除元素: delete arr2; 返回指定分割的字符串 :arr.join(,) ; 长度: arr.length 对象: 和数组是相通的的(arrage = 18;) var obj = new Object();/创建一个对象 perty = value;/给对象添加属性 var obj = a:123,/这里的a,b等同样是对象的属性名 b:456 /注意,最后没有逗号 ; for (var i in obj) alert(i+n+obji); 五、应用知识:访问HTML页面:HTML DOMHTML DOM将整个页面当成一个document对象,HTML里的标签都要通过document对象来访问.而文档中的每个标签,又会转换成一个对象。!对于HTML中的元素,JavaScript会自动将其解析成一个对象,用this表示。 var p = document.getElementById(p1); p.title=JavaScript;javascript:伪协议伪协议不同于因特网上所真实存在的如http:/,https:/,ftp:/,而是为关联应用程序而使用的.如:tencent:/(关联QQ),data:(用base64编码来在浏览器端输出二进制文件),还有就是javascript:我们可以在浏览地址栏里输入javascript:alert(JS!);,点转到后会发现,实际上是把javascript:后面的代码当JavaScript来执行,并将结果值返回给当前页面类似,我们可以在a标签的href属性中使用javascript伪协议例如:ECMAScript语法基础一、变量存储 在ECMAScript中,变量可以存放两种类型的值,即原始值和引用值。1.原始值(primitive value)是存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。 包括5种:Undefined、Null、Boolean、 Number和String2.引用值(reference value)是存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。二、正则表达式 var re = new RegExp();/RegExp是一个对象,和Aarray一样 re =new RegExp(a);/最简单的正则表达式,将匹配字母a re=new RegExp(a,i);/第二个参数,表示匹配时不分大小写正则表达式对象的方法1.test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。如果存在则返回 true,否则就返回 false。2.exec,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。3.compile,把正则表达式编译为内部格式,从而执行得更快。正则表达式对象的属性source,返回正则表达式模式的文本的复本。只读。lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。$1.$9,返回九个在模式匹配期间找到的、最近保存的部分。只读。input ($_),返回执行规范表述查找的字符串。只读。lastMatch ($&),返回任何正则表达式搜索过程中的最后匹配的字符。只读。lastParen ($+),如果有的话,返回任何正则表达式查找过程中最后括的子匹配。只读。leftContext ($),返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符。只读。rightContext ($),返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符。只读。三、函数式与面向对象1创建函数 function fnOne() /具有名称的函数,函数名必须符合变量名命名规范 var fnTwo = function () /匿名函数 ; function () /创建匿名函数而不立即创建其引用,那么之后就没办法调用此函数 (function fnThree() )();/创建函数并立即执行一次 (function () )();/创建匿名函数并立即执行一次2.arguments对象:在函数执行时函数内部就会有arguments对象,它包含了所有的参数,arguments的length属性报告了传入参数个数 function fnTest() for (var i=0;i arguments.length;i+) alert(argumentsi); fnTest(1,2,3); fnTest(45);3.闭包闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量4.this关键字的用法 function Demo() perty = 属性!; d = new Demo();alert(perty);/属性! 不使用new而直接执行构造函数时,this指向window function Demo() perty = 属性!; var d = Demo();alert(perty);/undefinedalert(perty);/属性!浏览器对象模型BOM是Browser Object Model的缩写,简称浏览器对象模型BOM提供了独立于内容而与浏览器窗口进行交互的对象由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是windowBOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性1.window的属性 JavaScript中的任何一个全局函数或变量都是window的属性window子对象:document 对象、frames 对象、history 对象、location 对象、navigator 对象screen 对象window对象关系属性:parent:如果当前窗口为frame,指向包含该frame的窗口的frame (frame)self :指向当前的window对象,与window同意。 (window对象)top :如果当前窗口为frame,指向包含该frame的top-level的window对象window :指向当前的window对象,与self同意。opener :当窗口是用javascript打开时,指向打开它的那人窗口(开启者)Location 对象的方法 reload()2.框架与多窗口通信 子窗口与父窗口只有自身和使用window.open方法打开的窗口和才能被JavaScript访问,window.open()方法打开的窗口通过window.opener属性来访问父窗口。 而在opener窗口中,可以通过window.open()方法的返回值来访问打开的窗口!文档对象模型1、节点基础nodeType节点类型,元素节点是1,文本节点是3nodeValue节点值,元素节点为空,文本节点的nodeValue属性即为文本内容firstChild该元素节点包含的第一个子节点lastChild该元素节点包含的最后一个子节点nextSibling该节点的后一个兄弟节点previousSibling该节点的前一个兄弟节点childNodes子节点列表,可以通过node.childNodesindex(或node.childNodes.item(index))来获取子节点nodeName节点名称,对于元素节点,返回tagName,对于文本,则返回#text移动,删除节点方法及注意事项:appendChild,removeChild,replaceChild,insertBefore2表单Form对象有个elements属性,包是一个含了form标签里面的所有表单控件(input,select等标签,但不包含如div之类的标签)的伪数组 var fm = document.forms0; alert(fm.elements.length);/length属性报告了元素的个数在之前,访问input这类标签和访问其它标签没什么区别,可以使用ID,也可以使用className,但当它们在表单中时,可以使用它们的nam有来访问 alert(document.formName.textInput.value);3现代事件绑定方法 obj.addEventListener(evtype,fn,useCapture)obj是要添加事件的对象,evtype是事件类型,不带on前缀,fn是事件处理函数,如果useCapture是true,则事件处理函数在捕获阶段被执行,否则在冒泡阶段执行 obj.removeEventListener(evtype,fn,useCapture)W3C提供的删除事件处理函数的方法4. cookie获取cookie:document.cookie: function getCookie(cookieName) var start = document.cookie.indexOf(cookieName+=); if (start =-1) return ; start = start+cookieName.length+1; var end = document.cookie.indexOf(;,start); if (end=-1) end = document.cookie.length; return document.cookie.substring(start,end); 设置cookie : document.cookie = userName=+encodeURI(用户名)+; expires=+删除Cookie没有删除Cookie的直接的方法,但可以变通一下来删除Cookie! function delCookie(cookieName) var expires = new Date(); expires.setTime(expires.getTime()-1);/将expires设为一个过去的日期,浏览器会自动删除它 document.cookie = cookieName+=; expires=+expires.toGMTString(); xml基础公共DTD,DTD名称格式为注册/组织/类型 标签/语言,注册指示组织是否由国际标准化组织(ISO)注册,+表示是,-表示不是.组织即组织名称,如:W3C; 类型一般是DTD

温馨提示

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

评论

0/150

提交评论