思路是捋出来的,头脑要常打扫
1.Java Script是一种脚本语言,其程序可以嵌入到HTML/XML页面中,被浏览器
解释执行,解释到哪儿执行到哪儿
2.功能:
增强页面动态效果
实现页面与用户的实时交互
3.Java Script的嵌入
1>.通过,如:
一个HTML页面中可以有多个标签对,而且各标签对
之间可以互相访问,可以认为是同一段代码
2>.Java Script代码可以出现的位置
1>).
4.Java Script中的数据类型
1>基本数据类型
整型
浮点型
字符型(包含了字符串类型)
布尔型
2>.对象类型
内置对象(String,Math,Date)
浏览器对象(Window,Document,History,Forms,...)
用户自定义对象
5.变量
1>.命名规则:
由字母,数字,下划线美元符($)组成,不能以数字开头
变量名区分大小写
不允许使用JavaScript关键字做变量名
2>.变量声明时不指定类型,而具体的类型是由将来给它赋值时由赋值类型来决定的
通常用var来声明变量,也可以不声明而直接使用变量,但必须先赋值,再取其值
如:var a;//只声明,不赋值,但使用之前必须赋值
var b=3.14;
var c="你好";
var d=5,e=6;//一次声明多个
b=c+d;//结果b="你好5"
f="Hello";
document.write(f);//不声明就使用
3>undefined 一般是使用了一个没赋值的元素
6.JavaScript关键字
break delete function return typeof
case do if switch var
catch else in this void
continue false instanceof throw while
debugger finally new true with
default for null try
7.JavaScript常量
1>.整型
八进制:012,027(0开头)
十进制:3,200
十六进制:0x12,0X4a(0x或者0X开头)
这些进制的数据在显示的时候都是以十进制的形式呈现给用户
2>.浮点型:3.14,2.1e3,2e4(科学计数法的表示)
3>.布尔型:true,false
4>.字符型
1>).但个字符:'a'
字符串:“china”,但是JS也允许用'china',这个很不容易理解,不过通常还是用"china"
2>).转义字符常量:"/n"(换行符),"/t"(制表符),"/""(双引号)
5>.空值:null
8.JavaScript运算符
1>.算术运算符: 2>.位运算符
+ 加法 ~ 按位"取反"
- 减法 & 按位"与"
* 乘法 | 按位"或"
/ 除法 ^ 按位"异或"
++ 增量/单目加 << 左移
-- 减量/单目减 >> 带符号右移
% 求余 >>> 无符号右移
(JavaScript也是采用补码的形式移位的,所以负数的>>和>>>是不同的)
3>.逻辑运算符 4>.扩展运算符
! 逻辑非 += a+=b<--->a=a+b
& 逻辑与 -= a-=b<--->a=a-b
| 逻辑或 *= a*=b<--->a=a*b
^ 逻辑异或 /= a/=b<--->a=a/b
%= a%=b<--->a=a%b
5>.比较运算符 != a!=b<--->a=a!b
> 大于 &= a&=b<--->a=a&b
>= 大于等于 |= a|=b<--->a=a|b
< 小于 ^= a^=b<--->a=a^b
<= 小于等于 <<= a<<=b<--->a=a< != 不等于 >>= a>>=b<--->a=a>>b
== 等于(变量值相等就可以)>>>= a>>>=b<--->a=a>>>b
=== 全相等(表示两个变量的值相等,变量的类型也相同)
6>.赋值运算符= 7>.三目运算符?:
8>.字符串连接符+,+=
9. 表达式
var s1=3+5+"hello" //结果:8hello
var s2="hello"+3+5 //结果:hello35
10.流程控制
1>.分支语句:
1>).if-else
2>).switch
2>.循环语句
1>).for
2>).while
3>).do-while
4>).for-in,如:
3>.特殊流程控制
1>).break 跳出整个循环
2>).continue 跳出本次循环
11.数组
是多个相同类型的数据的组合
1>.数组的声明方式
var a1=new Array();//创建一个数组,包含0个元素,长度为0
var a2=new Array(size);//创建一个数组,长度为size
a2[0]=1;
a2[1]=2;
....,
a2[size-1]=size;
var a3=new Array(v1,v2,v3,...,vn);//创建一个数组,并且静态初始化
2>.数组的长度会自动调整
3>.数组元素的访问采用数组名[下标]的形式,有效下标为0~length-1
12.函数
function <函数名>(<参数列表>){
<函数体代码>
[
}
说明:JavaScript函数在定义时不需要指定返回值类型和是否有返回值
13.事件及事件处理机制
JavaScript中常用事件类型
onClick 组件被单击
onDbclick 组件被双击,如:
onLoad 页面装载
onUnload 页面卸载,如:
onChange 组件内容或条目选种状态发生改变
onMousemove 鼠标移动,如:
function move(x,y){
mypic.style.left=x;
mypic.style.top=y;
}
正文信息:
onFocus 成为焦点
onBlur 当对象失去焦点,如:
username:
14.JavaScript中常用对象
1>.数学对象 Math
内置对象Math提供常规的数学运算方法和数学常量
PI,E,abs()--绝对值,sin(),cos(),round()--截断操作,sqrt()--开方,pow()--幂运算,random()--产生随机数
2>.时间对象 Date
使用前需要声明/创建时间对象: var currentTime=new Date();
getYear() setYear()-------获取/设置年信息
getMonth() setMonth()------获取/设置月信息(月份是从0~11对应1~12月)
getDate() setDate()-------获取/设置日信息
getDay()----------------------获取星期几
getHours() setHours()------获取/设置时信息
getMinutes() setMinutes()----获取/设置分信息
getSeconds() setSeconds()----获取/设置秒信息
getTime() setTime()-------获取/设置距离1970年0点0分0秒0毫秒的毫秒数
3>.字符串对象 String
length------------------------属性,字符串长度
charAt(idx)-------------------返回指定下标处的字符
indexOf(chr)------------------返回指定字符串的子串在当前字符串中第一次出现时的下标
indexOf(chr,fromIdx)----------从指定下标开始第一次出现的下标
lastIndexOf(chr)--------------子串最后一次出现的下标
substring(m,n)----------------取子串(从下标为m处字符到下标为n的字符,包含m,不包含n)
substring(m)------------------取子串(从下标为m处一直到结尾,包含m)
toLowerCase()-----------------转换成小写
toUpperCase()-----------------转换成大写
15.系统函数
系统函数不从属于任何的对象,可以在JavaScript代码中的任何位置直接使用
1>.eval(str) 计算字符串形式给出的表达式的值
2>.parseInt(str) 把字符串解析成整数,默认按照十进制,但若是0开头则按八进制,若是0x开头则按十六进制
parseInt(str,radix) 按指定进制,把字符串解析成整数,即把str当成radix进制翻译成十进制
parseFloat(str) 把字符串解析成浮点型数值
以上方法,参数可以是表达式,在解析过程中如果遇到错误(出现非法字符),则把已解析的返回;如果
第一个就解析错了,则返回NaN(非数值型)
isNaN(v) 判断参数是否为NaN
16.浏览器对象
也是JavaScript的内置对象,可以实现浏览器与HTML页面之间的交互
1>.window对象
代表当前窗体,是其它浏览器对象共同的祖先,所以可以通过它来访问其它浏览器对象及窗口中发生的事
件信息,一般在JavaScript中可以省略Window对象.浏览器打开HTML文件时通常就会创建一个Window对象
如果浏览器划分成多个Frame时,每个Frame都有一个Window,但这些Window之间可能存在隶属关系
1>).alert()
如:window.alert("姓名不能为空!");
2>).open(URL,windowName,parameterList)---打开一个窗口,显示一个URL指定的一个页面,windowName窗口名字,parameterList窗口参数
如:window.open("ShiZhong.html","myAdvWindow","toolbar=no,left=300,top=200,menubar=no,width=250,height=200");
3>).close()-----关闭一个窗口
如:window.close()
4>).promt(text,Defaulttext)--------------弹出一个文本输入框
如:var name=window.prompt("请输入您的姓名","");
5>).confirm(text)------------------------弹出一个确认窗口
如:var flag=window.confirm("确定要删除此记录吗?");
if(flag){
document.form1.submit();
}
6>).setInterval(func,timer)--------------指定时间间隔执行任务
如:window.setInterval("showTime()",1000);
7>).clearInterval(timer)-----------------清楚任务
2>.Document对象
表示当前的页面,是Window对象的属性
write()方法
3>.Location对象
表示当前打开的URL
window.location="targetUrl"//这条语句一旦被执行,就转向targetUrl指向的页面,实现了个页面转向
reload()//重新加载当前页面,即刷新当前页面
4>.History对象
go(index)--------表示前进
back()-----------后退
forward()
5>.Navigator对象
当前浏览器的信息,也是Window对象的属性,它封装了当前浏览器的相关信息
appName
appVersion
language
platform