javascript学习
一、一些特性:
基于对象(Object):
它能运用自己已经创建的对象
基于事件驱动(Event Driven):
对用户的响应是采用以事件驱动的方式进行的,
直接对用户或客户输入做出响应而无需经过Web服务程序
事件驱动:在页面中执行某种操作所产生的动作,
具有安全性能:
它不允许访问本地的硬盘,
不能将数据存入到服务器上,
不允许对网络文档进行修改和删除,
只能通过浏览器实现信息浏览或动态交互
跨平台:
仅依赖于浏览器本身,与操作系统无关
脚本语言:
采用小程序段的方式实现编程
解释性语言:
不需要进行编译,而是在程序运行过程中逐行地被解释
组成:
-
定义了js的语法规范
-
DOM : Document Object Model 文档对象模型,
管理页面
-
BOM : Brower Object Model 浏览器对象模型,
二.语言基础
1.五种原始数据类型(Primary Type):
Number(整数和实数)
String(""或'')
Boolean(true和false)
Null
Undefined
保留字(boolean...)、作用域({})、运算符(+...)、控制字符(\n...)、异常
2.声明变量、函数
var 变量名=变量值
var 函数名=function(){ }
function 函数名(){ }
3.控制语句
if,else
switch,case,default
for,while
continue,break
4.函数
1)常用函数
typeof()//返回类型
alert()//弹框
2)系统函数(内部函数,不属于任何对象)
isNaN(x)
//非数值类型返回true,数值类型返回false
eval(字符串表达式)//返回字符串表达式中的运算结果
test=eval("x=8+9")//test返回17
escape(字符串)//返回字符串的一种简单编码,将非字母数字的符号转换为%加其unicode码的十六进制表示。
escape("hello world")//返回"hello%20world"
unescape(字符串)
//将已编码的字符串还原为纯字符串
encodeURI(URIString)
//可把字符串作为URI进行编码并返回
decodeURI(URIString)
//可对encodeURI()函数编码过的URI进行解码
parseFloat(字符串)
//返回浮点数
parseInt(字符串[,radix])
//返回整数,radix是进制(2~36),默认十进制
5.事件驱动和事件处理
1)事件(Event):鼠标或热键的动作
常见事件及其说明:
----
●onchange 用户改变域的内容
●onclick 鼠标点击某个对象
●ondblclick 鼠标双击某个对象
----
●onmousedown 某个鼠标按键被按下
●onmouseup 某个鼠标按键被松开
●onmousemove 鼠标被移动
●onmouseover 鼠标被移到某元素之上
●onmouseout 鼠标从某元素移开
----
●onkeydown 某个键盘的键被按下
●onkeypress 某个键盘的键被按下或按住
●onkeyup 某个键盘的键被松开
----
onselect 文本被选定
onresize 窗口或框架被调整尺寸
●onsubmit 提交按钮被点击
onreset 重置按钮被点击
onload 某个页面或图像被完成加载
onerror 当加载文档或图像时发生某个错误
onabort 图像加载被中断
onfocus 元素获得焦点
onblur 元素失去焦点
2)事件驱动和事件处理程序
将某个函数与事件联系起来,当事件发生时执行该函数,这就是事件驱动(事件与函数的关联)。
对事件进行处理的函数,称之为时间处理程序。
三.内置对象
访问对象的属性: 对象.属性
访问对象的方法: 对象.方法()
1.数组对象Array
(1)创建
var array=['a',1,true];
var array=Array('a',1,true);
var array=new Array('a',1,true);
var array=new Array(3); arry[0]='a';...
(2)属性
array.length//数组的元素个数
(3)方法
join(分割符)
array.join('/')//返回a/1/true
reverse()//反转
sort()//排序
concat()//连接多个数组
arr1.concat(arr2,arr3)
pop()//删除并返回数组最后一个元素
push()//在数组末尾添加多个元素,返回新的长度
shift()//删除并返回第一个元素
unshift()//在数组开头添加多个元素,并返回新的长度
slice(start,end)//提取截取的片段
splice(index,num[,element1...,])//从index开始,删除num个元素,加入element
(4)内部数组
在网页对象中,有很多本身就是数组对象。
例如,document对象的forms属性(document.forms)就是一个数组对象,
页面中的每个form是其中的一个元素(document.form[i])
2.字符串对象String
(1)创建
var str='asdf';
var str=String('asdf');
var str=new String('asdf');
(2)属性
str.length//返回字符串长度
(3)方法
1)格式设置方法
big(),small(),bold(),italics(),strike(),fontcolor(),fontsize(),link(),
sub(),sup(),blink(),fixed(),
2)通用字符串方法
anchor('name')
hello
str.anchor('a')//锚
charAt(index)//返回指定index处的字符
charCodeAt(index)//返回指定index处的unicode编码
concat()//str.concat(str1)连接字符串
indexOf(str1)//返回检索到的第一个字符串的index
lastIndexOf(str1)//从后往前检索,返回index
match()//匹配正则表达式
replace()//替换与正则表达式匹配的字符串
search()//检索与正则表达式相匹配的值
slice(start,end)//提取截取的片段
split(分隔符)//切片,返回数组
substr(start,num)//提取截取的片段
substring(start,end)//提取截取的片段
tolowerCase(),toUpperCase()
3.数学类Math
(1)属性
Math.E 返回2.718
Math.PI 返回3.14159
(2)方法
abs(x) 返回数的绝对值。
acos(x) 返回数的反余弦值。
asin(x) 返回数的反正弦值。
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x) 对数进行上舍入。
cos(x) 返回数的余弦。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
toSource() 返回该对象的源代码。
valueOf() 返回 Math 对象的原始值。
4.日期类Date
(1)创建
new Date() 不带参数,则以系统时间为新创建日期对象的内容。
new Date(毫秒数) 以距1970年1月1日零时到期望时间的毫秒数为参数,创建日期对象
new Date(2005,6,3,21,0,22) 设定2005年7月3日,注意月从0开始的
new Date("July 3, 2005 21:00:22") 以指定的时间为新创建日期对象的内容
(2)方法
getDate() 返回几号
getDay() 返回星期几 (0代表星期日,1到6代表星期一到星期六)
getHours() 返回几点
getMinutes() 返回分钟数
getSeconds() 返回秒数
getTime() 返回距1970年1月1日零时到期望时间的毫秒数
getYear() 返回年份
setDate() 设置几号
setDay() 设置星期几 (0代表星期日,1到6代表星期一到星期六)
setHours() 设置几点
setMinutes() 设置分钟数
setSeconds() 设置秒数
setTime() 以距1970年1月1日零时到期望时间的毫秒数为参数,设置时间
setYear() 设置年份
四、窗口对象window
在javascript中可以使用window和self标识符来引用当前的浏览器窗口
每个打开的窗口定义一个window对象,如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象
1.window对象属性
opener 返回对创建此窗口的窗口的引用。
closed 返回窗口是否已被关闭。
name 设置或返回窗口的名称。
length 设置或返回窗口中的框架数量。
status 设置窗口状态栏的文本。
defaultStatus 设置或返回窗口状态栏中的默认文本。
outerheight 返回窗口的外部高度。
outerwidth 返回窗口的外部宽度。
innerheight 返回窗口的文档显示区的高度。
innerwidth 返回窗口的文档显示区的宽度。
top //返回最顶层的先辈窗口。
parent //返回父窗口。
self //返回对当前窗口的引用。等价于 Window 属性。
window //window 属性等价于 self 属性,它包含了对窗口自身的引用。
· screenLeft
· screenTop
· screenX
· screenY//只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。
pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
document 对 Document 对象的只读引用。请参阅 Document 对象。
Screen 对 Screen 对象的只读引用。请参数 Screen 对象。
location 用于窗口或框架的 Location 对象。请参阅 Location 对象。
history 对 History 对象的只读引用。请参数 History 对象。
Navigator 对 Navigator 对象的只读引用。请参数 Navigator 对象。
2.window对象方法
open(url,窗口名称,可选参数) 打开一个新的浏览器窗口或查找一个已命名的窗口。
close() 关闭浏览器窗口。
alert(msg) 显示带有一段消息和一个确认按钮的警告框。
prompt('提示',默认值) 显示可提示用户输入的对话框。
confirm(msg)
//显示带有一段消息以及确认按钮和取消按钮的对话框。
//返回true或false
moveBy() 可相对窗口的当前坐标把它移动指定的像素。
moveTo() 把窗口的左上角移动到一个指定的坐标。
focus() 把键盘焦点给予一个窗口。
resizeBy() 按照指定的像素调整窗口的大小。
resizeTo() 把窗口的大小调整到指定的宽度和高度。
scrollBy() 按照指定的像素值来滚动内容。
scrollTo() 把内容滚动到指定的坐标。
//定时
setInterval("func()",milli) 按照指定的周期(以毫秒计)来调用函数或计算表达式。
clearInterval() 取消由 setInterval() 设置的 timeout。
setTimeout() 在指定的毫秒数后调用函数或计算表达式。
clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
blur() 把键盘焦点从顶层窗口移开。
createPopup() 创建一个 pop-up 窗口。
print() 打印当前窗口的内容。
五、文档对象document
1.DOM文档对象模型
window 整个浏览器窗口的统称,是最上层的唯一对象。这一级可以省略,是系统默认值。
? document 是Window的一个子对象,包含当前文档(HTML文件)中所有的对象。
? form 即表单,包含许多子对象。
? window、document和history对象是系统定义好的,其它对象是由我们程序员自己定义的。
2.document对象概述
1)如果给页面中的元素起个名字,则可以把该元素当成document 对象的一个属性来处理。
//document.form1
2)集合
all[] 提供对文档中所有 HTML 元素的访问。
anchors[] 返回对文档中所有 Anchor 对象的引用。
applets 返回对文档中所有 Applet 对象的引用。
forms[] 返回对文档中所有 Form 对象引用。
images[] 返回对文档中所有 Image 对象引用。
links[] 返回对文档中所有 Area 和 Link 对象引用。
3)属性
body 提供对
元素的直接访问。对于定义了框架集的文档,该属性引用最外层的