开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的。这章我给大家整理了一些JAVASCRIPT的基础知识、常用代码和事件汇总。
一、基础知识:
1.document.write(""); 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:document->html->(head,body)
4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)
6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();
7.JS中的值类型:String,Number,Boolean,Null,Object,Function
8.JS中的字符型转换成数值型:parseInt(),parseFloat()
9.JS中的数字转换成字符型:(""+变量)
10.JS中的取字符串长度是:(length)
11.JS中的字符与字符相连接使用+号.
12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<=
13.JS中声明变量使用:var来进行声明
14.JS中的判断语句结构:if(condition){}else{}
15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}
16.循环中止的命令是:break
17.JS中的函数定义:function functionName([parameter],...){statement[s]}
18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.
19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self
20.状态栏的设置:window.status="字符";
21.弹出提示信息:window.alert("字符");
22.弹出确认框:window.confirm();
23.弹出输入提示框:window.prompt();
24.指定当前显示链接的位置:window.location.href="URL"
25.取出窗体中的所有表单的数量:document.forms.length
26.关闭文档的输出流:document.close();
27.字符串追加连接符:+=
28.创建一个文档元素:document.createElement(),document.createTextNode()
29.得到元素的方法:document.getElementById()
30.设置表单中所有文本型的成员的值为空:
var form = window.document.forms[0]
for (var i = 0; i<form.elements.length;i++){
if (form.elements[i].type == "text"){
form.elements[i].value = "";
}
}
31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE)
32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length
33.单选按钮组判断是否被选中也是用checked.
34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)
35.字符串的定义:var myString = new String("This is lightsword");
36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase();
37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到.
38.取字符串中指定位置的一个字符:StringA.charAt(9);
39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6);
40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor(Math.random()*(n+1))返回随机数
41.定义日期型变量:var today = new Date();
42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计]
43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName
44.parent代表父亲对象,top代表最顶端对象
45.打开子窗口的父窗口为:opener
46.表示当前所属的位置:this
47.当在超链接中调用JS函数时用:(javascript:)来开头后面加函数名
48.在老的浏览器中不执行此JS:<!-- //-->
49.引用一个文件式的JS:<script type="text/javascript" src="aaa.js"></script>
50.指定在不支持脚本的浏览器显示的HTML:<noscript></noscript>
51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:<a href="a.html" onclick="location.href='b.html';return false">dfsadf</a>
52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError
53.JS中的换行:/n
54.窗口全屏大小:<script>function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script>
55.JS中的all代表其下层的全部元素
56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1
57.innerHTML的值是表单元素的值:如<p id="para">"how are <em>you</em>"</p>,则innerHTML的值就是:how are <em>you</em>
58.innerTEXT的值和上面的一样,只不过不会把<em>这种标记显示出来.
59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.
60.isDisabled判断是否为禁止状态.disabled设置禁止状态
61.length取得长度,返回整型数值
62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc
63.window.focus()使当前的窗口在所有窗口之前.
64.blur()指失去焦点.与FOCUS()相反.
65.select()指元素为选中状态.
66.防止用户对文本框中输入文本:onfocus="this.blur()"
67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length
68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()
69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';
70.添加到收藏夹:external.AddFavorite("http://www.dannyg.com","jaskdlf");
71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;
72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续.
73.JS中的self指的是当前的窗口
74.JS中状态栏显示内容:window.status="内容"
75.JS中的top指的是框架集中最顶层的框架
76.JS中关闭当前的窗口:window.close();
77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}
78.JS中的窗口重定向:window.navigate("http://www.sina.com.cn");
79.JS中的打印:window.print()
80.JS中的提示输入框:window.prompt("message","defaultReply");
81.JS中的窗口滚动条:window.scroll(x,y)
82.JS中的窗口滚动到位置:window.scrollby
83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout
84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);
85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.onbeforeunload=verifyClose;
86.当窗体第一次调用时使用的文件句柄:onload()
87.当窗体关闭时调用的文件句柄:onunload()
88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息)
89.window.location.reload()刷新当前页面.
89-1.parent.location.reload()刷新父亲对象(用于框架)
89-2.opener.location.reload()刷新父窗口对象(用于单开窗口)
89-3.top.location.reload()刷新最顶端对象(用于多开窗口)
90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)
91.document.write()不换行的输出,document.writeln()换行输出
92.document.body.noWrap=true;防止链接文字折行.
93.变量名.charAt(第几位),取该变量的第几位的字符.
94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.
95.字符串连接:string.concat(string2),或用+=进行连接
96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)
97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.
98.string.match(regExpression),判断字符是否匹配.
99.string.replace(regExpression,replaceString)替换现有字符串.
100.string.split(分隔符)返回一个数组存储值.
101.string.substr(start[,length])取从第几位到指定长度的字符串.
102.string.toLowerCase()使字符串全部变为小写.
103.string.toUpperCase()使全部字符变为大写.
104.parseInt(string[,radix(代表进制)])强制转换成整型.
105.parseFloat(string[,radix])强制转换成浮点型.
106.isNaN(变量):测试是否为数值型.
107.定义常量的关键字:const,定义变量的关键字:var
二、我们先来学习JAVASCRIPT常用代码:
1 创建脚本块
程序代码
<script language=”JavaScript”>
JavaScript 代码写在这里面
</script>
2 隐藏脚本代码
程序代码
<script language=”JavaScript”> <!-- document.write(“Hello”); // --> </script>
在不支持JavaScript的浏览器中将不执行相关代码
3 浏览器不支持的时候显示
程序代码
<noscript> Hello to the non-JavaScript browser. </noscript>
4 链接外部脚本文件
程序代码
<script language=”JavaScript” src="/”filename.js"”></script>
5 注释脚本
程序代码
// This is a comment document.write(“Hello”); // This is a comment /* All of this is a comment */
6 输出到浏览器
程序代码
document.write(“<strong>Hello</strong>”);
7 定义变量
程序代码
var myVariable = “some value”;
8 字符串相加
程序代码
var myString = “String1” + “String2”;
9 字符串搜索
程序代码
<script language=”JavaScript”> <!-- var myVariable = “Hello there”; var therePlace = myVariable.search(“there”); document.write(therePlace); // --> </script>
10 字符串替换
程序代码
thisVar.replace(“Monday”,”Friday”);
11 格式化字串
程序代码
<script language=”JavaScript”> <!-- var myVariable = “Hello there”; document.write(myVariable.big() + “<br>”); document.write(myVariable.blink() + “<br>”); document.write(myVariable.bold() + “<br>”); document.write(myVariable.fixed() + “<br>”); document.write(myVariable.fontcolor(“red”) + “<br>”); document.write(myVariable.fontsize(“18pt”) + “<br>”); document.write(myVariable.italics() + “<br>”); document.write(myVariable.small() + “<br>”); document.write(myVariable.strike() + “<br>”); document.write(myVariable.sub() + “<br>”); document.write(myVariable.sup() + “<br>”); document.write(myVariable.toLowerCase() + “<br>”); document.write(myVariable.toUpperCase() + “<br>”); var firstString = “My String”; var finalString = firstString.bold().toLowerCase().fontcolor(“red”); // --> </script>
12 创建数组
程序代码
<script language=”JavaScript”> <!-- var myArray = new Array(5); myArray[0] = “First Entry”; myArray[1] = “Second Entry”; myArray[2] = “Third Entry”; myArray[3] = “Fourth Entry”; myArray[4] = “Fifth Entry”; var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”); // --> </script>
13 数组排序
程序代码
<script language=”JavaScript”> <!-- var myArray = new Array(5); myArray[0] = “z”; myArray[1] = “c”; myArray[2] = “d”; myArray[3] = “a”; myArray[4] = “q”; document.write(myArray.sort()); // --> </script>
14 分割字符串
程序代码
<script language=”JavaScript”> <!-- var myVariable = “a,b,c,d”; var stringArray = myVariable.split(“,”); document.write(stringArray[0]); document.write(stringArray[1]); document.write(stringArray[2]); document.write(stringArray[3]); // --> </script>
15 弹出警告信息
程序代码
<script language=”JavaScript”> <!-- window.alert(“Hello”); // --> </script>
16 弹出确认框
程序代码
<script language=”JavaScript”> <!-- var result = window.confirm(“Click OK to continue”); // --> </script>
17 自定义函数
程序代码
<script language=”JavaScript”> <!-- function multiple(number1,number2) { var result = number1 * number2; return result; } // --> </script>
18 调用JS函数
程序代码
<a href=”#” onClick=”functionName()”>Link text</a> <a href="/”javascript :functionName"()”>Link text</a>
19 在页面加载完成后执行函数
程序代码
<body onLoad=”functionName();”> Body of the page </body>
20 条件判断
程序代码
<script> <!-- var userChoice = window.confirm(“Choose OK or Cancel”); var result = (userChoice == true) ? “OK” : “Cancel”; document.write(result); // --> </script>
21 指定次数循环
程序代码
<script> <!-- var myArray = new Array(3); myArray[0] = “Item 0”; myArray[1] = “Item 1”; myArray[2] = “Item 2”; for (i = 0; i < myArray.length; i++) { document.write(myArray[i] + “<br>”); } // --> </script>
22 设定将来执行
程序代码
<script> <!-- function hello() { window.alert(“Hello”); } window.setTimeout(“hello()”,5000); // --> </script>
23 定时执行函数
程序代码
<script> <!-- function hello() { window.alert(“Hello”); window.setTimeout(“hello()”,5000); } window.setTimeout(“hello()”,5000); // --> </script>
24 取消定时执行
程序代码
<script> <!-- function hello() { window.alert(“Hello”); } var myTimeout = window.setTimeout(“hello()”,5000); window.clearTimeout(myTimeout); // --> </script>
25 在页面卸载时候执行函数
程序代码
<body onUnload=”functionName();”> Body of the page </body>
JavaScript就这么回事2:浏览器输出
26 访问document对象
程序代码
<script language=”JavaScript”> var myURL = document.URL; window.alert(myURL); </script>
27 动态输出HTML
程序代码
<script language=”JavaScript”> document.write(“<p>Here’s some information about this document:</p>”); document.write(“<ul>”); document.write(“<li>Referring Document: “ + document.referrer + “</li>”); document.write(“<li>Domain: “ + document.domain + “</li>”); document.write(“<li>URL: “ + document.URL + “</li>”); document.write(“</ul>”); </script>
28 输出换行
程序代码
document.writeln(“<strong>a</strong>”); document.writeln(“b”);
29 输出日期
程序代码
<script language=”JavaScript”> var thisDate = new Date(); document.write(thisDate.toString()); </script>
30 指定日期的时区
程序代码
<script language=”JavaScript”> var myOffset = -2; var currentDate = new Date(); var userOffset = currentDate.getTimezoneOffset()/60; var timeZoneDifference = userOffset - myOffset; currentDate.setHours(currentDate.getHours() + timeZoneDifference); document.write(“The time and date in Central Europe is: “ + currentDate.toLocaleString()); </script>
31 设置日期输出格式
程序代码
<script language=”JavaScript”> var thisDate = new Date(); var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes(); var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate(); document.write(thisTimeString + “ on “ + thisDateString); </script>
32 读取URL参数
程序代码
<script language=”JavaScript”> var urlParts = document.URL.split(“?”); var parameterParts = urlParts[1].split(“&”); for (i = 0; i < parameterParts.length; i++) { var pairParts = parameterParts[i].split(“=”); var pairName = pairParts[0]; var pairValue = pairParts[1]; document.write(pairName + “ :“ +pairValue ); } </script>
你还以为HTML是无状态的么?
33 打开一个新的document对象
程序代码
<script language=”JavaScript”> function newDocument() { document.open(); document.write(“<p>This is a New Document.</p>”); document.close(); } </script>
34 页面跳转
程序代码
<script language=”JavaScript”> window.location = “http://www.x-force.cn/”; </script>
35 添加网页加载进度窗口
程序代码
<html> <head> <script language='javaScript'> var placeHolder = window.open('holder.html','placeholder','width=200,height=200'); </script> <title>The Main Page</title> </head> <body onLoad='placeHolder.close()'> <p>This is the main page</p> </body> </html>
JavaScript就这么回事3:图像
36 读取图像属性
程序代码
<img src="/”image1.jpg"” name=”myImage”> <a href=”# ” onClick=”window.alert(document.myImage.width)”>Width</a>
三、JAVASCRIPT事件汇总
javascript事件列表解说 |
|||
事件 |
浏览器支持 |
解说 |
|
一般事件 |
onclick |
IE3、N2 |
鼠标点击时触发此事件 |
ondblclick |
IE4、N4 |
鼠标双击时触发此事件 |
|
onmousedown |
IE4、N4 |
按下鼠标时触发此事件 |
|
onmouseup |
IE4、N4 |
鼠标按下后松开鼠标时触发此事件 |
|
onmouseover |
IE3、N2 |
当鼠标移动到某对象范围的上方时触发此事件 |
|
onmousemove |
IE4、N4 |
鼠标移动时触发此事件 |
|
onmouseout |
IE4、N3 |
当鼠标离开某对象范围时触发此事件 |
|
onkeypress |
IE4、N4 |
当键盘上的某个键被按下并且释放时触发此事件. |
|
onkeydown |
IE4、N4 |
当键盘上某个按键被按下时触发此事件 |
|
onkeyup |
IE4、N4 |
当键盘上某个按键被按放开时触发此事件 |
|
页面相关事件 |
onabort |
IE4、N3 |
图片在下载时被用户中断 |
onbeforeunload |
IE4、N |
当前页面的内容将要被改变时触发此事件 |
|
onerror |
IE4、N3 |
出现错误时触发此事件 |
|
onload |
IE3、N2 |
页面内容完成时触发此事件 |
|
onmove |
IE、N4 |
浏览器的窗口被移动时触发此事件 |
|
onresize |
IE4、N4 |
当浏览器的窗口大小被改变时触发此事件 |
|
onscroll |
IE4、N |
浏览器的滚动条位置发生变化时触发此事件 |
|
onstop |
IE5、N |
浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断 |
|
onunload |
IE3、N2 |
当前页面将被改变时触发此事件 |
|
表单相关事件 |
onblur |
IE3、N2 |
当前元素失去焦点时触发此事件 |
onchange |
IE3、N2 |
当前元素失去焦点并且元素的内容发生改变而触发此事件 |
|
onfocus |
IE3 、N2 |
当某个元素获得焦点时触发此事件 |
|
onreset |
IE4 、N3 |
当表单中RESET的属性被激发时触发此事件 |
|
onsubmit |
IE3 、N2 |
一个表单被递交时触发此事件 |
|
滚动字幕事件 |
onbounce |
IE4、N |
在Marquee内的内容移动至Marquee显示范围之外时触发此事件 |
onfinish |
IE4、N |
当Marquee元素完成需要显示的内容后触发此事件 |
|
onstart |
IE4、 N |
当Marquee元素开始显示内容时触发此事件 |
|
编辑事件 |
onbeforecopy |
IE5、N |
当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发此事件 |
onbeforecut |
IE5、 N |
当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发此事件 |
|
onbeforeeditfocus |
IE5、N |
当前元素将要进入编辑状态 |
|
onbeforepaste |
IE5、 N |
内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件 |
|
onbeforeupdate |
IE5、 N |
当浏览者粘贴系统剪贴板中的内容时通知目标对象 |
|
oncontextmenu |
IE5、N |
当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件 |
|
oncopy |
IE5、N |
当页面当前的被选择内容被复制后触发此事件 |
|
oncut |
IE5、N |
当页面当前的被选择内容被剪切时触发此事件 |
|
ondrag |
IE5、N |
当某个对象被拖动时触发此事件 [活动事件] |
|
ondragdrop |
IE、N4 |
一个外部对象被鼠标拖进当前窗口或者帧 |
|
ondragend |
IE5、N |
当鼠标拖动结束时触发此事件,即鼠标的按钮被释放了 |
|
ondragenter |
IE5、N |
当对象被鼠标拖动的对象进入其容器范围内时触发此事件 |
|
ondragleave |
IE5、N |
当对象被鼠标拖动的对象离开其容器范围内时触发此事件 |
|
ondragover |
IE5、N |
当某被拖动的对象在另一对象容器范围内拖动时触发此事件 |
|
ondragstart |
IE4、N |
当某对象将被拖动时触发此事件 |
|
ondrop |
IE5、N |
在一个拖动过程中,释放鼠标键时触发此事件 |
|
onlosecapture |
IE5、N |
当元素失去鼠标移动所形成的选择焦点时触发此事件 |
|
onpaste |
IE5、N |
当内容被粘贴时触发此事件 |
|
onselect |
IE4、N |
当文本内容被选择时的事件 |
|
onselectstart |
IE4、N |
当文本内容选择将开始发生时触发的事件 |
|
数据绑定 |
onafterupdate |
IE4、N |
当数据完成由数据源到对象的传送时触发此事件 |
oncellchange |
IE5、N |
当数据来源发生变化时 |
|
ondataavailable |
IE4、N |
当数据接收完成时触发事件 |
|
ondatasetchanged |
IE4、N |
数据在数据源发生变化时触发的事件 |
|
ondatasetcomplete |
IE4、N |
当来子数据源的全部有效数据读取完毕时触发此事件 |
|
onerrorupdate |
IE4、N |
当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件 |
|
onrowenter |
IE5、N |
当前数据源的数据发生变化并且有新的有效数据时触发的事件 |
|
onrowexit |
IE5、N |
当前数据源的数据将要发生变化时触发的事件 |
|
onrowsdelete |
IE5、N |
当前数据记录将被删除时触发此事件 |
|
onrowsinserted |
IE5、N |
当前数据源将要插入新数据记录时触发此事件 |
|
外部事件 |
onafterprint |
IE5、N |
当文档被打印后触发此事件 |
onbeforeprint |
IE5、N |
当文档即将打印时触发此事件 |
|
onfilterchange |
IE4、N |
当某个对象的滤镜效果发生变化时触发的事件 |
|
onhelp |
IE4、N |
当浏览者按下F1或者浏览器的帮助选择时触发此事件 |
|
onpropertychange |
IE5、N |
当对象的属性之一发生变化时触发此事件 |
|
onreadystatechange |
IE4、N |
当对象的初始化属性值发生变化时触发此事件 |