1 基础
创建脚本块
<script type="text/javascript">
java script code goes here
</script>
隐藏脚本代码
<script type="text/javascript">
<!--
document.write(“Hello”);
// -->
</script>
在不支持java script的浏览器中将不执行相关代码
浏览器不支持的时候显示
<noscript>
Hello to the non-java script browser.
</noscript>
链接外部脚本文件
<script type="text/javascript" src="/filename.js"></script>
注释脚本
// This is a comment
document.write("Hello"); // This is a comment
/*
All of this
is a comment
*/
输出到浏览器
document.write(“<strong>Hello</strong>”);
定义变量
var myVariable = "some value";
字符串相加
var myString = "String1" + "String2";
字符串搜索
<script type="text/javascript">
<!--
var myVariable = "Hello there";
var therePlace = myVariable.search("there");
document.write(therePlace);
//-->
</script>
字符串替换
thisVar.replace("Monday","Friday");
格式化字串
<script type="text/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>
创建数组
<script type="text/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>
数组排序
<script type="text/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>
分割字符串
<script type="text/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>
弹出警告信息
<script type="text/javascript">
<!--
window.alert("Hello");
//-->
</script>
弹出确认框
<script type="text/javascript">
<!--
var result = window.confirm("Click OK to continue");
// -–>
</script>
定义函数
<script type="text/javascript">
<!--
function multiple(number1,number2) {
var result = number1 * number2;
return result;
}
// -->
</script>
调用JS函数
<a href="#" onClick="functionName()">Link text</a>
<a href="/"java script:functionName"()">Link text</a>
在页面加载完成后执行函数
<body onLoad="functionName();">
Body of the page
</body>
条件判断
<script type="text/javascript">
<!--
var userChoice = window.confirm("Choose OK or Cancel");
var result = (userChoice == true) ? "OK" : "Cancel";
document.write(result);
// -->
</script>
指定次数循环
<script type="text/javascript">
<!--
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 + "<br>");
}
// -->
</script>
设定将来执行
<script type="text/javascript">
<!--
function hello() {
window.alert("Hello");
}
window.setTimeout("hello()",5000);
// -->
</script>
定时执行函数
<script type="text/javascript">
<!--
function hello() {
window.alert("Hello");
window.setTimeout("hello()",5000);
}
window.setTimeout("hello()",5000);
// -->
</script>
取消定时执行
<script type="text/javascript">
<!--
function hello() {
window.alert("Hello");
}
var myTimeout = window.setTimeout("hello()",5000);
window.clearTimeout(myTimeout);
// -->
</script>
在页面卸载时候执行函数
<body onUnload="functionName();">
Body of the page
</body>
2 浏览器输出
访问document对象
<script type="text/javascript">
var myURL = document.URL;
window.alert(myURL);
</script>
动态输出HTML
<script type="text/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>
输出换行
document.writeln("<strong>a</strong>");
document.writeln("b");
输出日期
<script type="text/javascript">
var thisDate = new Date();
document.write(thisDate.toString());
</script>
指定日期的时区
<script type="text/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>
设置日期输出格式
<script type="text/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>
读取URL参数
<script type="text/javascript">
var urlParts = document.URL.split("?");
var parameterParts = urlParts[1].split("&");
for (i = 0; i < parameterParts.length; i++) {
var pairParts = parameterParts.split("=");
var pairName = pairParts[0];
var pairValue = pairParts[1];
document.write(pairName + " :" +pairValue );
}
</script>
你还以为HTML是无状态的么?
打开一个新的document对象
<script type="text/javascript">
function newDocument() {
document.open();
document.write("<p>This is a New Document.</p>");
document.close();
}
</script>
页面跳转
<script type="text/javascript">
window.location = "http://www.99n9.com/";
</script>
添加网页加载进度窗口
<html>
<head>
<script type="text/javascript">
var placeHolder = window.open("holder.html", "placeholder",
"width=200,height=200");
</script>
<title>The Main Page</title>
</head>
<body>
<a>Open a full-screen window</a>
</body>
新窗口和父窗口的操作
<script type="text/javascript">
//定义新窗口
var newWindow = window.open("128a.html","newWindow");
newWindow.close(); //在父窗口中关闭打开的新窗口
</script>
//在新窗口中关闭父窗口
window.opener.close()
往新窗口中写内容
<script type="text/javascript">
var newWindow = window.open("","newWindow");
newWindow.document.open();
newWindow.document.write("This is a new window");
newWIndow.document.close();
</script>
加载页面到框架页面
<frameset cols="50%,*">
<frame name="frame1" src="/"135a.html"">
<frame name="frame2" src="/"about:blank"">
</frameset>
在frame1中加载frame2中的页面
parent.frame2.document.location = "135b.html";
在框架页面之间共享脚本
如果在frame1中html文件中有个脚本
function doAlert() {
window.alert("Frame 1 is loaded");
}
那么在frame2中可以如此调用该方法
<body onLoad="parent.frame1.doAlert();">
This is frame 2.
</body>
数据公用
可以在框架页面定义数据项,使得该数据可以被多个框架中的页面公用
<script type="text/javascript">
var persistentVariable = "This is a persistent value";
</script>
<frameset cols="50%,*">
<frame name="frame1" src="/"138a.html"">
<frame name="frame2" src="/"138b.html"">
</frameset>
这样在frame1和frame2中都可以使用变量persistentVariable
框架代码库
根据以上的一些思路,我们可以使用一个隐藏的框架页面来作为整个框架集的代码库
<frameset cols="0,50%,*">
<frame name="codeFrame" src="/"140code.html"">
<frame name="frame1" src="/"140a.html"">
<frame name="frame2" src="/"140b.html"">
</frameset>