Javascrip基础与实践教程(电子工业出版社)一、j avascrip语言概述1.ECMAScript是许多软件厂商对JavaScript的统一标准;2.服务器端和客户端JavaScript共享相同的核心语言。
但也有些不同,如客户端封装了额外的特性,只与在浏览器中运行JavaScript有关的预定义对象。
服务器端JavaScript则封装了只与在服务器上运行JavaScript有关的预定义对象和函数;3.二、J avascrip程序设计基础1.注释:html的为<!-- ;javascript为“//”和“/* */”2.数据类型:基本数据类型(数值型、字符串型和布尔型、空值null、未定义undefined)和引用数据类型(数组、函数、对象等);3.null一般对对象;undefined:(1)使用了一个未声明的变量(2)已经声明但还没有赋值的变量(3)使用了并不存在的对象属性时;4.类别转换:(1)基本数据类型转换String()、Number()、Boolean();(2)提取整数parseInt(numString,[radix]);(3)提取浮点数的parseFloat(numString)方法;(4)计算表达式eval(codeString);5.流程控制:for….in语句;with(对象){ 语句组}语句;6.7.8.三、面向对象的Javascrip目前对象编程分为面向对象(全部对象封装、继承、多态)和基于对象(以部分对象的特性使用对象);JavaScript是基于对象的;JavaScript对象的属性和方法可以灵活的添加即创建完对象以后,可以添加和删除对象的属性和方法;1.创建对象(1)使用new运算符和构造函数内置Oject(),Array(),Date()Var car = new Object();Car.color = “white”;2.通过对象直接量创建对象Var myobject={属性名1:属性值1,属性名n:属性值n};3.通过函数(构造函数)创建对象4.原型对象(prototype)即对象的静态的5.一个原型对象能够被多个对象实例继承,分为读写两种方式(1)、对于读:在读对象o的属性P时,JavaScript首先检查对象0是否具有一个名为P的属性,如果o没有这个属性,JavaScript就会去再检查O的原型对象是否具有这个属性时,就用这个继承机制使用原型的属性值,但是如果该对象拥有与原型对象重名的属性时,就不再继承原型对象的属性,而是使用自己定义的属性;(2)对于写:JavaScript并不使用原型对象,因此,属性的继承只发生在读属性值时,而在写属性值时不会发生;6.7.8.9.10.11.四、J avaScript五、J avaScriptJavaScript六、C ss样式1.样式定义的格式Selector {proterty1:value;property2:value2;…..}Selector为选择器,后面的为选择器的属性和值;选择器的分类:HTML标记(如段落标记p)p{padding:0;margin:00 1.5em0;}类选择器(如类.clearH).clearH{zoom:1;}ID选择器(如#header)#header{width:980px;height:89px;auto;background:url(../images/bg_header.gif)no-repeat00;} 组合选择器:多个选择器定义同一个样式,用逗号分隔。
(如HTML标记dl,dd,dt,ul,ol,li的样式相同)dl,dd,dt,ul,ol,li{padding:0;margin:0;list-style:none;}伪(虚)类选择器:一个HTML元素的不同状态和其包括的内容定义的一个方法,最好的顺序:Link,visited,hover,activea:hover{color:#b40000;text-decoration:underline;}a:visited{ color: #666; text-decoration: none; }样式中嵌入样式:一种选择器中包括另一种选择器(分隔符为空格)(1)#header 空格.login 空格input{border:1px solid#c3c3c3;margin-left: 2px;}ID=header里面的login类里面的input标记,才能应用此样式;(2)Table.tab_1 空格td#right { text-align: right; }table标记并且类为tab_1,里面的td并且使用ID=right,才能应用此样式;#footer table td a:hover,#footer table td a:active{color:#509ed0;padding:0 3px;text-decoration:underline;}注:选择器中包括“空格”则表示父子关系(即包含关系)2.使用样式的优先级(由高到低)内嵌样式表(在HTML标记里面)嵌入样式表(在HTML的<head></head>里面直接定义样式)外部样式表(在HTML的<head></head>里面利用<link>引入外部样式文件)浏览器默认样式七、J avaScript安全手册1、获取对象元素的方法NN3+和IE4+支持的方法(1)document.元素名称(name).属性如:document.imageName.src(2) document.元素s[index].属性如:document.images[0].src(3)document.元素s[imgeName].src如:document.images[imageName].srcW3C DOM中访问对象的方法:(1)document.getElementById(imageId).src;document.getElementByName(imageName).src;document.getElementsByTagName( "input ");//获得指定标记的对象在IE4+中(2)document.all.元素名.属性如:document.all.imageName.src;document.all[“(imageName)”].src;2、第九章anchor 对象和link对象都对应<a name="linkName"></a>标记获得方法var iAnchor=document.anchors;var MyLink=document.links;3、第十章Image、area和map对象<img name="MyImg"src="target.jpg"border=1></img>图片区域映射用area对象和map对象,前者为目标图片中的特定区域,在该区域响应用户特定操作;而后者为area对象元素的容器;标记一组area对象元素。
Area对应超链的所有属性;<img src="planets.gif"width="290"height="252"alt="Planets"usemap="#planetmap"/><map id="planetmap"name="planetmap"><area shape="rect"coords="0,0,164,252"href="sun.html"target="_blank"alt="Sun"/><area shape="circle"coords="180,116,6"href="mercur.html"target="_blank"alt="Mercury"/> <area shape="circle"coords="248,116,16"href="venus.html"target="_blank"alt="Venus"/> </map>Img元素用usemap属性来与map元素建立联系;4、第十一章style和styleSheet对象样式表导入方法(1)直接通过<style>标记对包含并嵌入到目标文档中。
<head><meta http-equiv="Content-Type"content="text/html; charset=gb2312"><title>Sample Page!</title><style type="text/css">body { background: white}a:link { color: purple}a:visited { color: black}a:hover { color: red}</style></head>(2)通过@import选择符<style type="text/css">@import url(MyStyle.css);</style>(3)使用link关键字链接外部样式表<link href="/images/style.css"rel="stylesheet"type="text/css"/>REL:定义链接的样式表文件和当前文档之间的关系。
TYPE:在服务器端将该样式表文件通过Content_type内容格式返回给客户端;用DOM对象的styleSheets对象数组访问html中的style元素里的内容;style对象提供更多的属性和方法用于设置指定HTML元素的样式;文档中的某元素(如<link>、@import选择符等)将样式表引入该文档后,将创建与之对应的styleSheet对象,而整个文档的所有styleSheet对象构成styleSheets对象数组;<style>标记中的每个定义为一个规则即rule对象且rules对象数组为rule对象的容器(IE4);即cssRule对象且cssRules对象数组为rule对象的容器(W3C DOM和NN6规范);5、第十二章定位对象(div和span标记)和嵌入对象(applet\embed\object等元素对象)定位对象:HTML引入div对象时,均通过style关键字引入部分(或全部)属性;Div和span采用层的方式占用文档对应位置的一块区域;其中的区别为span对象默认的显示模式为inline即在同一行显示;嵌入对象:<applet>元素:对应Java Applet小程序<embed>元素:W3C规范用<object>元素替代,引入声音、视频和插件程序的自定义MIME类型;6、第十三章HTML元素对象表单数据传送的方式:(1)完全引用"ALL Explorer ";“ :"++"\n";"document.forms[1].name :"+document.forms[1].name+"\n";" document.forms[''MyFormB''].name :"+document.forms["MyFormB"].name+"\n\n";"IE4+ :\n";" :"++"\n\n";"W3C :\n";" document.getElementById(''MyFormB'').name :+document.getElementById("MyFormB").name+"\n"; (1)使用this.form最为参数传递Onchange = “CheckDate(this.form)”Function CheckDate(tagetForm){Var myvalue = tagetForm.MyText.value;}(2)直接传递值得方式Onchange = “CheckDate(this)”或者Onchange = “CheckDate(this.value)”This:表示当前的对象;7、第十九章javascript与插件通信Javascrip-〉flash插件<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"CODEBASE="/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0, 0"WIDTH="400"HEIGHT="180"ID="myFlash"><PARAM NAME=movie VALUE="MyFlash.swf"><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#c0c0c0><EMBED SRC="MyFlash.swf"quality=high bgcolor=#c0c0c0WIDTH="400"HEIGHT="180"NAME="myFlash"swLiveConnect="true"TYPE="application/x-shockwaveflash"PLUGINSPAGE="/go/getflashplayer"></EMBED></OBJECT>Flash -> javascript通过两个函数(1)getURL(“”,”_bank”);//弹出新窗体或者on(release){GetURL(“javascript:AlertMyFunction(\”jhx\”)”);//调用javascript的函数AlertMyFunction(name)}或者on(release){GetURL(“javascript:alert(\”Welcom jhx \”)”);}(3)首先触发flash内部的fsCommand()函数时就会调用javascript脚本定义的函数flashID_DoFSCommand()该函数包含目标Flash动画的HTML文档内,其中flashID为嵌入动画的embed元素的name 属性或者object对象的id属性;-- 常规选项 ---? 显示此帮助文本。