JavaScript浏览器检测:
JavaScript包含一个名为Navigator的对象,navigator包含了有关访问者浏览器的信息,包括浏览器类型,版本等。
navigator对象的两个属性:
appName 保存浏览器类型
appVersion 存有浏览器的版本信息
Navigator
<html>
<body>
<script type="text/javascript">
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)
document.write("浏览器名称:"+ browser)
document.write("<br />")
document.write("浏览器版本:"+ version)
</script>
</body>
</html>
JavaScript Cookies:
Cookie是存储于访问者的计算机中的变量,每当同一台计算机通过浏览器请求某个页面时,就会发送这个Cookie。可以使用JavaScript来创建和取回Cookie的值。
创建和存储Cookie
Cookie
<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : "; expires="+exdate.toGMTString())
}
function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}
</script>
</head>
<body onLoad="checkCookie()">
</body>
</html>
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
toGMTString() 方法可根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果。
表单验证:
JavaScript可用来在数据被送往服务器前对HTML表单中的输入数据进行验证。
典型的验证包括必填项目是否已填写,邮件地址是否合法,日期是否合法,数据域(numeric field)中是否输入了文本,等。
动画:
可以使用JavaScript来创建动态的图像。
动画
<html>
<head>
<script type="text/javascript">
function mouseOver()
{
document.b1.src ="/i/eg_mouse.jpg"
}
function mouseOut()
{
document.b1.src ="/i/eg_mouse2.jpg"
}
</script>
</head>
<body>
<a href="/index.html" target="_blank">
<img border="0" alt="Visit W3School!" src="/i/eg_mouse2.jpg" name="b1" onmouseover="mouseOver()" onmouseout="mouseOut()" /></a>
</body>
</html>
图像地图:
图像地图指的是带有可点击区域的图像。
计时:
通过使用JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行,称之为计时事件。
SetTimeout():
var t=setTimeout("JavaScript语句", 毫秒)
注:1000 毫秒等于一秒。
创建自己的JavaScript对象
JavaScript 拥有若干内置的对象,比如String、Date、Array等,除了这些对象,还可以创建自己的对象。
对象仅仅是一种特殊的数据类型而已,并拥有一系列的属性和方法。
创建对象:
1. 创建对象的实例
创建一个对象的实例,并向其添加了四个属性:
属性
personObj=new Object()
personObj.firstname="John"
personObj.lastname="Doe"
personObj.age=50
personObj.eyecolor="blue"
向personObj添加方法:
方法
personObj.eat=eat //向personObj 添加了名为 eat() 的方法
2. 创建对象的模板:模板定义了对象的结构
模板
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname
this.lastname=lastname
this.age=age
this.eyecolor=eyecolor
}
模板仅仅是一个函数,需要在函数内部向this.propertiName分配内容。一旦拥有模板,就可以创建新的实例:
实例
myFather=new person("John","Doe",50,"blue")
myMother=new person("Sally","Rally",48,"green")
同样,可以向person对象添加某些方法,并且同样需要在模板内进行操作:
方法
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname
this.lastname=lastname
this.age=age
this.eyecolor=eyecolor
this.newlastname=newlastname
}
方法只是依附于对象的函数而已,然后,我们需要编写newlastname()函数:
函数
function newlastname(new_lastname)
{
this.lastname=new_lastname
}