==============================
Next PageFor...In 声明用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "宝马"
mycars[1] = "奔驰"
mycars[2] = "宾利"
for (x in mycars)
{
document.write(mycars[x] + "<br />") //注意这一行
}
</script>
===============
for (sProp in window) {
alert(sProp);
}
这里,for-in 语句用于显示 window 对象的所有属性。
===============
事件是可以被 JavaScript 侦测到的行为。
onload 和 onUnload
当用户进入或离开页面时就会触发 onload 和 onUnload 事件。
onload 事件常用来检测访问者的浏览器类型和版本,然后根据这些信息载入特定版本的网页。
onload 和 onUnload 事件也常被用来处理用户进入或离开页面时所建立的 cookies。例如,当某用户第一次进入页面时
,你可以使用消息框来询问用户的姓名。姓名会保存在 cookie 中。当用户再次进入这个页面时,你可以使用另一个消息
框来和这个用户打招呼:"Welcome John Doe!"。
=========================
onFocus, onBlur 和 onChange
onFocus、onBlur 和 onChange 事件通常相互配合用来验证表单。
下面是一个使用 onChange 事件的例子。用户一旦改变了域的内容,checkEmail() 函数就会被调用。
<input type="text" size="30" id="email" οnchange="checkEmail()">
onblur 元素失去焦点
onchange 用户改变域的内容
=========================
onSubmit
onSubmit 用于在提交表单之前验证所有的表单域。
下面是一个使用 onSubmit 事件的例子。当用户单击表单中的确认按钮时,checkForm() 函数就会被调用。假若域的值无
效,此次提交就会被取消。checkForm() 函数的返回值是 true 或者 false。如果返回值为true,则提交表单,反之取消
提交。
<form method="post" action="xxx.htm" οnsubmit="return checkForm()">
============
<a href="http://www.w3school.com.cn"
οnmοuseοver="alert('An onMouseOver event');return false"> //注意alert中要显示的字符 单引号
<img src="w3school.gif" width="100" height="30">
</a>
====================
try...catch 的作用是测试代码中的错误。
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="本页中存在错误。/n/n"
txt+="错误描述:" + err.description + "/n/n" //err.description
txt+="点击“确定”继续。/n/n"
alert(txt)
}
}
</script>
===============================
带有确认框的try 。。catch
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="本页中存在错误。/n/n"
txt+="点击“确定”继续查看本页,/n"
txt+="点击“取消”返回首页。/n/n"
if(!confirm(txt))
{
document.location.href="/index.html"
}
}
}
</script>
document.location.href="http://www.baidu.com/"
===================
有两种在网页中捕获错误的方法:
使用 try...catch 语句。(在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)
使用 onerror 事件。这是用于捕获错误的老式方法。(Netscape 3 以后的版本可用)
注意:chrome、opera 和 safari 浏览器不支持 onerror 事件。
=====
onerror 事件
我们马上会讲解 onerror 事件。但首先您需要学习如何使用 throw 语句来创建异常。throw 语句可以与 try...catch
语句一起使用。
=============
throw 声明的作用是创建 exception(异常或错误)。
语法:
throw(exception)exception 可以是字符串、整数、逻辑值或者对象。
========
<script type="text/javascript">
var x=prompt("请输入 0 至 10 之间的数:","")
try
{
if(x>10) //无需 类似我们C#中的string到int的转换
throw "Err1"
else if(x<0)
throw "Err2"
else if(isNaN(x)) //判断是否为数字
throw "Err3"
}
catch(er)
{
if(er=="Err1")
alert("错误!该值太大!")
if(er == "Err2")
alert("错误!该值太小!")
if(er == "Err3")
alert("错误!该值不是数字!")
}
</script>
==================
只要页面中出现脚本错误,就会产生 onerror 事件。
如果需要利用 onerror 事件,就必须创建一个处理错误的函数。你可以把这个函数叫作 onerror 事件处理器 (onerror
event handler)。这个事件处理器使用三个参数来调用:msg(错误消息)、url(发生错误的页面的 url)、line(发生
错误的代码行)。
语法:
οnerrοr=handleErrfunction handleErr(msg,url,l)
{
//Handle the error here
return true or false
}浏览器是否显示标准的错误消息,取决于 onerror 的返回值。如果返回值为 false,则在控制台 (JavaScript
console) 中显示错误消息。反之则不会。
=====<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>
=============
你可以在 JavaScript 中使用反斜杠来向文本字符串添加特殊字符。
反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符
代码 输出
/' 单引号
/" 双引号
/& 和号
// 反斜杠
/n 换行符
/r 回车符
/t 制表符
/b 退格符
/f 换页符
=================
JavaScript 会忽略多余的空格。所以您可以在代码中添加适当的空格,使得代码的可读性更强。下面的两行是等效的:
name="Hege"
name = "Hege"
========================
换行
您可以在文本字符串内部使用反斜杠对代码进行折行。下面的例子是正确的:
document.write("Hello / 先空一格 在反斜杠
World!")但是不能像这样折行:
document.write /
("Hello World!")
=======================
JavaScript 是面向对象的编程语言 (OOP)。
OOP 语言使我们有能力自定义对象和变量类型。
注意:对象只是一种特殊的数据。对象拥有属性和方法。
====================
为字符串添加样式
<script type="text/javascript">
var txt="Hello World!"
document.write("<p>Big: " + txt.big() + "</p>")
document.write("<p>Small: " + txt.small() + "</p>")
document.write("<p>Bold: " + txt.bold() + "</p>")
document.write("<p>Italic: " + txt.italics() + "</p>")
document.write("<p>Blink: " + txt.blink() + " (does not work in IE)</p>")
document.write("<p>Fixed: " + txt.fixed() + "</p>")
document.write("<p>Strike: " + txt.strike() + "</p>")
document.write("<p>Fontcolor: " + txt.fontcolor("Red") + "</p>")
document.write("<p>Fontsize: " + txt.fontsize(16) + "</p>")
document.write("<p>Lowercase: " + txt.toLowerCase() + "</p>")
document.write("<p>Uppercase: " + txt.toUpperCase() + "</p>")
document.write("<p>Subscript: " + txt.sub() + "</p>")
document.write("<p>Superscript: " + txt.sup() + "</p>")
document.write("<p>Link: " + txt.link("http://www.w3school.com.cn") + "</p>")
</script>
结果:
Big: Hello World!
Small: Hello World!
Bold: Hello World!
Italic: Hello World!
Blink: Hello World! (does not work in IE)
Fixed: Hello World!
Strike: Hello World!
Fontcolor: Hello World!
Fontsize: Hello World!
Lowercase: hello world!
Uppercase: HELLO WORLD!
Subscript: Hello World!
Superscript: Hello World!
Link: Hello World! (有链接)
============================
match() 方法
如何使用 match() 来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。没找到则返回null
var str="Hello world!"
document.write(str.match("world") + "<br />")
document.write(str.match("World") + "<br />")
document.write(str.match("worlld") + "<br />")
document.write(str.match("world!"))
结果:
world
null
null
world!
==================
只会替换一处
document.write(str.replace(/Microsoft/,"W3School"))
document.write(str.replace("Microsoft","W3School"))
document.write(Date())
var time=new Date();
document.write(time);
=================
在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:
setTimeout()
未来的某时执行代码
clearTimeout()
取消setTimeout()
语法
var t=setTimeout("javascript语句",毫秒)