JavaScript 能做什么?
1)JavaScript为HTML设计师提供一种编程工具。
2)JavaScript可以将动态文本放入HTML页面。
3)JavaScript可以对事件做出反应。
4)JavaScript可以读写HTML元素。
5)JavaScript可以用来做表单验证。
6)JavaScript可以用来检测访问者的浏览器。
7)JavaScript可以用来创建cookies.
JavaScript的正式名是:"ECMAScript"
ECMA-262是正式的JavaScript标准。这个标准基于JavaScript(Netscape)和JScript(Microsoft).
Hello World
<html>
<body>
<script type="text/javascript">
document.write("Hello World!")
</script>
</body>
</html>
JavaScript基础
0)Switch
switch(n)
{
case 1:
执行代码块 1
break
case 2:
执行代码块 2
break
default:
如果n即不是1也不是2,则执行此代码
}
example:
<script type="text/javascript">
//You will receive a different greeting based
//on what day it is. Note that Sunday=0,
//Monday=1, Tuesday=2, etc.
var d=new Date()
theDay=d.getDay()
switch (theDay)
{
case 5:
document.write("Finally Friday")
break
case 6:
document.write("Super Saturday")
break
case 0:
document.write("Sleepy Sunday")
break
default:
document.write("I'm looking forward to this weekend!")
}
</script>
1)消息框
(1)警告框 alter("文本");
(2)确定框 confirm("文本");
当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。
如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。
(3)提示框 prompt("文本","默认值");
提示框经常用于提示用户在进入页面前输入某个值。
当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。
如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。
example-1
<html>
<head>
<script type="text/javascript">
function disp_alert()
{
alert("再次向您问好!在这里,我们向您演示" + '/n' + "如何向警告框添加折行。")
}
</script>
</head>
<body>
<input type="button" οnclick="disp_alert()" value="显示警告框" />
</body>
</html>
example-2
<html>
<head>
<script type="text/javascript">
function show_confirm()
{
var r=confirm("Press a button!");
if (r==true)
{
alert("You pressed OK!");
}
else
{
alert("You pressed Cancel!");
}
}
</script>
</head>
<body>
<input type="button" οnclick="show_confirm()" value="Show a confirm box" />
</body>
</html>
example-3
<html>
<head>
<script type="text/javascript">
function disp_prompt()
{
var name=prompt("请输入您的名字","Bill Gates")
if (name!=null && name!="")
{
document.write("你好!" + name + " 今天过得怎么样?")
}
}
</script>
</head>
<body>
<input type="button" οnclick="disp_prompt()" value="显示提示框" />
</body>
</html>
2)For Loop
example
for (i = 1; i <= 6; i++)
{
document.write("<h" + i + ">这是标题 " + i)
document.write("</h" + i + ">")
}
3) While Loop
example-1
<script type="text/javascript">
var i=0
while (i<=10)
{
document.write("The number is " + i)
document.write("<br />")
i=i+1
}
</script>
4) Break Loops
(1)break 语句
使用 break 语句来终止循环。
(2)continue 语句
使用 continue 语句来终止当前的循环,然后从下一个值继续执行。
example
<script type="text/javascript">
var i=0
for (i=0;i<=10;i++)
{
if (i==3){break}
document.write("The number is " + i)
document.write("<br />")
}
<script>
5) For...In
如何使用 For...In 声明来遍历数组内的元素。
example
<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
</script>
6) 事件
事件是可以被 JavaScript 侦测到的行为。
事件
JavaScript 使我们有能力创建动态页面。事件是可以被 JavaScript 侦测到的行为。
网页中的每个元素都可以产生某些可以触发 JavaScript 函数的事件。
事件举例:
•鼠标点击
•页面或图像载入
•鼠标悬浮于页面的某个热点之上
•在表单中选取输入框
•确认表单
•键盘按键
注意:事件通常与函数配合使用,当事件发生时函数才会执行。
(1)onload 和 onUnload
当用户进入或离开页面时就会触发 onload 和 onUnload 事件。
onload 事件常用来检测访问者的浏览器类型和版本,然后根据这些信息载入特定版本的网页。
onload 和 onUnload 事件也常被用来处理用户进入或离开页面时所建立的 cookies。例如,当某用户第一次进入页面时,你可以使用消息框来询问用户的姓名。姓名会保存
在 cookie 中。当用户再次进入这个页面时,你可以使用另一个消息框来和这个用户打招呼:"Welcome John Doe!"。
(2)onFocus, onBlur 和 onChange
onFocus、onBlur 和 onChange 事件通常相互配合用来验证表单。
下面是一个使用 onChange 事件的例子。用户一旦改变了域的内容,checkEmail() 函数就会被调用。
<input type="text" size="30" id="email" οnchange="checkEmail()">onSubmit
(3)onSubmit 用于在提交表单之前验证所有的表单域。
下面是一个使用 onSubmit 事件的例子。当用户单击表单中的确认按钮时,checkForm() 函数就会被调用。假若域的值无效,此次提交就会被取消。checkForm() 函数的返回
值是 true 或者 false。如果返回值为true,则提交表单,反之取消提交。
<form method="post" action="xxx.htm" οnsubmit="return checkForm()">onMouseOver 和 onMouseOut
(4)onMouseOver 和 onMouseOut 用来创建“动态的”按钮。
下面是一个使用 onMouseOver 事件的例子。当 onMouseOver 事件被脚本侦测到时,就会弹出一个警告框:
<a href="http://www.w3school.com.cn"
οnmοuseοver="alert('An onMouseOver event');return false">
<img src="w3school.gif" width="100" height="30">
</a>
7)Try...Catch
example-1
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="此页面存在一个错误。/n/n"
txt+="错误描述: " + err.description + "/n/n"
txt+="点击OK继续。/n/n"
alert(txt)
}
}
</script>
example-2
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="There was an error on this page./n/n"
txt+="Click OK to continue viewing this page,/n"
txt+="or Cancel to return to the home page./n/n"
if(!confirm(txt))
{
document.location.href="http://www.w3school.com.cn/"
}
}
}
</script>
8) Throw
Throw 声明
throw 声明的作用是创建 exception(异常)。你可以把这个声明与 try...catch 声明配合使用,以达到控制程序流并产生精确错误消息的目的。
语法:
throw(exception)exception 可以是字符串、整数、逻辑值或者对象。
注意:使用小写字母编写 throw。使用大写字母会出错!
example
<html>
<body>
<script type="text/javascript">
var x=prompt("Enter a number between 0 and 10:","")
try
{
if(x>10)
throw "Err1"
else if(x<0)
throw "Err2"
}
catch(er)
{
if(er=="Err1")
alert("Error! The value is too high")
if(er == "Err2")
alert("Error! The value is too low")
}
</script>
</body>
</html>
9) onerror
example
<script type="text/javascript">
οnerrοr=handleErr
var txt=""
function handleErr(msg,url,l)
{
txt="本页中存在错误。/n/n"
txt+="错误:" + msg + "/n"
txt+="URL: " + url + "/n"
txt+="行:" + l + "/n/n"
txt+="点击“确定”继续。/n/n"
alert(txt)
return true
}
function message()
{
adddlert("Welcome guest!")
}
</script>
</head>
<body>
<input type="button" value="查看消息" οnclick="message()" />
</body>
10)特殊字符
插入特殊字符
反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。
请看下面的 JavaScript 代码:
var txt="We are the so-called "Vikings"
from the north."
document.write(txt)
在 JavaScript 中,字符串使用单引号或者双引号来起始或者结束。这意味着上面的字符串将被截为:We are the so-called。
要解决这个问题,就必须把在 "Viking" 中的引号前面加上反斜杠 (/)。这样就可以把每个双引号转换为字面上的字符串。
var txt="We are the so-called /"Vikings/"
from the north."
document.write(txt)
现在 JavaScript 就可以输出正确的文本字符串了:We are the so-called "Vikings" from the north。
这是另一个例子:
document.write ("You /&
me are singing!")
上面的例子会产生以下输出:
You & me are singing!
下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中:
代码 | 输出 |
---|---|
/' | 单引号 |
/" | 双引号 |
/& | 和号 |
// | 反斜杠 |
/n | 换行符 |
/r | 回车符 |
/t | 制表符 |
/b | 退格符 |
/f | 换页符 |
11)指导方针
JavaScript 对大小写敏感
名为 "myfunction" 的函数和名为 "myFunction" 的函数是两个不同的函数,同样,变量 "myVar" 和变量 "myvar" 也是不同的。
JavaScript 对大小写敏感 - 所以当您创建或使用变量、对象及函数时,请注意字符的大小写。
空格
JavaScript 会忽略多余的空格。所以您可以在代码中添加适当的空格,使得代码的可读性更强。下面的两行是等效的:
name="Hege" name = "Hege"
换行
您可以在文本字符串内部使用反斜杠对代码进行折行。下面的例子是正确的:
document.write("Hello / World!")
但是不能像这样折行:
document.write / ("Hello World!")