<head><script>functionmyFunction(){
document.getElementById("demo").innerHTML="My First JavaScript Function";}</script></head>
也可以把脚本保存到外部文件中,通常包含被多个网页使用的代码,文件扩展名是 .js。
<script src="myScript.js"></script>
JavaScript 对大小写是敏感的。
浏览器会在读取代码时,逐行地执行脚本代码。
可以在文本字符串中使用反斜杠对代码行进行换行。
document.write("Hello \
World!");//这样可以
document.write \
("Hello World!");//这样不行
基础语法
变量 弱类型语言,统一用var表示变量
数据类型 数值,字符串,布尔,数组,对象,Undefined(不含有值),Null(置空变量)
运算符
算术运算符;
赋值运算符;
比较运算符;
逻辑运算符;
三目运算符;
字符串连接“+”
控制语句
if…else 语句;
switch 语句;
for 循环语句;
while/do…while 语句;
break/continue 语句;
错误
try 语句测试代码块的错误。
catch 语句处理错误。
throw 语句创建自定义错误。
try{adddlert("Welcome guest!");}catch(err){
txt="There was an error on this page.\n\n";
txt+="Error description: "+ err.message +"\n\n";
txt+="Click OK to continue.\n\n";alert(txt);}
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
First name:<input type="text" name="fname"><input type="submit" value="Submit"></form>functionvalidateForm(){var x=document.forms["myForm"]["fname"].value;if(x==null|| x==""){alert("First name must be filled out");returnfalse;}}
E-mail 验证
functionvalidateForm(){var x=document.forms["myForm"]["email"].value;var atpos=x.indexOf("@");var dotpos=x.lastIndexOf(".");if(atpos<1|| dotpos<atpos+2|| dotpos+2>=x.length){alert("Not a valid e-mail address");returnfalse;}}
DOM
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树。
简介 JavaScript 能够改变页面中的所有 HTML 元素、HTML 属性、 CSS 样式,对页面中的所有事件做出反应。 可以通过 id 、标签名、类名找到 HTML 元素。
var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
改变 HTML
.js //改变 HTML 内容
var element=document.getElementById("header").innerHTML="New Header";
.js //改变 HTML 属性值
document.getElementById("image").src="landscape.jpg";
改变 CSS
.js //改变 HTML 样式
document.getElementById("p2").style.color="blue";
获得浏览器尺寸(兼容的Javascript)
var w=window.innerWidth
//对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari
|| document.documentElement.clientWidth
//对于 Internet Explorer 8、7、6、5
|| document.body.clientWidth;
//对于 Internet Explorer 8、7、6、5
var h=window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
属性
描述
closed
返回窗口是否已被关闭。
document
对 Document 对象的只读引用。
innerHeight
返回窗口的文档显示区的高度。
innerWidth
返回窗口的文档显示区的宽度。
length
设置或返回窗口中的框架数量。
parent
返回父窗口。
screen
对 Screen 对象的只读引用。请参数 Screen 对象。
screenLeft
返回相对于屏幕窗口的x坐标
screenTop
返回相对于屏幕窗口的y坐标
screenX
返回相对于屏幕窗口的x坐标
screenY
返回相对于屏幕窗口的y坐标
self
返回对当前窗口的引用。等价于 Window 属性。
location
用于窗口或框架的 Location 对象。请参阅 Location 对象。
history
对 History 对象的只读引用。请参数 History 对象。
document
对 Document 对象的只读引用。(请参阅对象)
navigator
对 Navigator 对象的只读引用。请参数 Navigator 对象。
方法
描述
alert()
显示带有一段消息和一个确认按钮的警告框。
prompt()
显示可提示用户输入的对话框。
confirm()
显示带有一段消息以及确认按钮和取消按钮的对话框。
open()
打开一个新的浏览器窗口或查找一个已命名的窗口。
close()
关闭浏览器窗口。
stop()
停止页面载入。
setInterval()
按照指定的周期(以毫秒计)来调用函数或计算表达式。
setTimeout()
在指定的毫秒数后调用函数或计算表达式。
clearInterval()
取消由 setInterval() 设置的 timeout。
clearTimeout()
取消由 setTimeout() 方法设置的 timeout。
focus()
把键盘焦点给予一个窗口。
moveBy()
可相对窗口的当前坐标把它移动指定的像素。
moveTo()
把窗口的左上角移动到一个指定的坐标。
resizeBy()
按照指定的像素调整窗口的大小。
resizeTo()
把窗口的大小调整到指定的宽度和高度。
scrollBy()
按照指定的像素值来滚动内容。
scrollTo()
把内容滚动到指定的坐标。
Screen
属性
说明
availHeight
返回屏幕的高度(不包括Windows任务栏)
availWidth
返回屏幕的宽度(不包括Windows任务栏)
height
返回屏幕的总高度
width
返回屏幕的总宽度
pixelDepth
返回屏幕的颜色分辨率(每象素的位数)
Location
属性
描述
hash
返回一个URL的锚部分
host
返回一个URL的主机名和端口
hostname
返回URL的主机名
href
返回完整的URL
pathname
返回的URL路径名。
port
返回一个URL服务器使用的端口号
protocol
返回一个URL协议
search
返回一个URL的查询部分
History
属性
说明
length
返回历史列表中的网址数
方法
说明
back()
加载 history 列表中的前一个 URL
forward()
加载 history 列表中的下一个 URL
go()
加载 history 列表中的某个具体页面
Navigator
属性
说明
appCodeName
返回浏览器的代码名
appName
返回浏览器的名称
appVersion
返回浏览器的平台和版本信息
cookieEnabled
返回指明浏览器中是否启用 cookie 的布尔值
platform
返回运行浏览器的操作系统平台
userAgent
返回由客户机发送服务器的user-agent 头部的值
存储
Web 存储 API 提供了 sessionStorage (会话存储) 和 localStorage(本地存储)两个存储对象来对网页的数据进行添加、删除、修改、查询操作。
属性
描述
localStorage
用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
sessionStorage
用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
方法
描述
key(n)
返回存储对象中第 n 个键的名称
getItem(keyname)
返回指定键的值
setItem(keyname, value)
添加键和值,如果对应的值存在,则更新该键对应的值。
removeItem(keyname)
移除键
clear()
清除存储对象中所有的键
DOM 对象
文档是一个文档节点,HTML元素都是元素节点,HTML 属性都是属性节点,文本插入到 HTML 元素是文本节点,注释是注释节点。
Document 对象
当浏览器载入 HTML 文档, 它就会成为 Document 对象,是 HTML 文档的根节点,使我们可以从脚本中对 HTML 页面中的所有元素进行访问。