javascript高级教程
脚本语言:指WEB浏览器内由解释器执行的语言。
javascript对象模型
window->document->form->table,button,text.
1.window为最高级对象也是默认的对象。
window包含与用户通信的一些方法:alert(),prompt(),confirm();
window对象有关的事件处理程序:onLoad,onUnload;
window对象的相关属性:length 表示父窗口框架个数的整数值
parent 表示父窗体名的串值
status 状态条值
2.document对象
属性:
forms 包含对文档中每个表单引用的数组。
location 表示当前URL对象的串值
referrer 表示当前文档所访问的URL的串值
方法:
Clear() 清除document窗口
close() 关闭Write()流
Open() 打开此文档,检索write()流中的数据
write() 把内容写到此文档
3.image对象:
onClick onMouseOver onMouseOut onLoad onUnload
onAbort 当装入图像被用户动作的结果夭折时触发此事件
onError 当装入图象中发生错误码时触发此事件
4.history对象
forward()
back()
go(int)
length(属性)表示history对象当前引用的连接个数的整数值
5.location对象
onClick="location.href=''""
第一课:
//定义一个变量接受弹出窗用户输入的数据
function doAlert()
{
var answer = prompt("the question","这里为默认值,可以为空");
}
第二课:
1.indexOf()函数
var str = "mynameis";
var val = str.indexOf("n");
不包含对应字符返回 -1;
返回值从0开始,第一个位置返回0,类推。有多个对应字符返回字符串中第一个相对应的位置
2.chartAt(index)
返回字符串中对应位置的字符
3.legth
返回字符串的长度
4.subString(startIndex,endIndex);
返回字符串中 起始索引到结束索引的 子字符串
5.split("");
将字符串按 split中的符号分割成数组
6.Array
var ar = new Array();
ar["fisrt"] = "name";
ar["seconed"] = "sex"
可以字符作索引,也可用数字
7 cookie
每个域名只分配20个cookie且每个cookie的大小不得超过4K
cookie值中不能有空格,逗号,分号
escape() nuescape()
function setCookie()
{
var youname = prompt("请输入你的名字:","");
var younamecookie = "cookiename =:你的名字是"escape(youname);
document.cookie = younamecookie;
}
上面保存了一个名为cookiename的cookie ,内容是 你的名字是:*****
如果输入时写了 A B 则经过escape后,younamecookie的值为A20%B ,自动将空格转换成20%.
function readCookie()
{
var cookiename = document.cookie;
var value = cookiename.split(":");
var youname = unescape(value[1]);
alert(youname+":欢迎你再一次光临!";);
}
写多个cookie只要cookie的名字不同即可
读多个cookie
如果有多个cookie
var cookiename = document.cookie;
显示出来为多个cookie并且两个cookie中用 分号 相隔,可用字符串方法读取
设置cookie的失效期
expires = 日期
toGMTString(), cookie中所有的日期必须用这个函数来转换
var da = new Date("December 31",2090);
var dat = da.toGMTString();
var thecookie = "my_cookie=cookievalue;expires="dat expires与前面用分号隔开
设置cookie路径
path="/";
写法类似expires,/为根目录.
第三课:
1.var timeout = setTimeout("要执行的操作",时间间隔);单位为毫秒
setTimeout返回一个变量,若要取消该setTimeout
可用 clearTimeout(变量); clearTimeout(timeout);
function doTimer()
{
count += 1;
setTimeout(doTimer(),1000)
}
2.window.location.replace("*.html");
parseFloat(); 将字符串中的第一个数字字符提取出来并返回
parseInt() 将实数中小数点后的数字去掉。
var intValue = parseInt(2.48);
intValue = 2
3.var da = new Date(); //当前时分秒
var hours = da.getHours()
var minutes = da.getMinutes();
var seconds = da.getSeconds();
4.navigator.appName 取得流览器的名字
5.使用某一对象或方法前先判断流览器是否支持以避免出现不必要的错误
例如图片替换
if(document.images)
{支持才执行操作}
if(document.moveTo)
{支持才执行}
6.window.history.back();
第四课:
1.图像分区域导航
<IMG src="/*.gif" border=0 height = 130 width= 140 ismap usemap="#foo">
<map name="foo">
<area name = "one" href ="*.html" coords="4,4,4,4">
<area name = "two" href ="*.html" coords="5,5,5,5">
<area name = "three" href = "*.html" onClick="某些操作" coords="*,*,*,*" >
可以触发对应事件
</map>
ismap usemap="#foo"表示图像使用一个名字foo的导航块
area 表示区域, coords表示相对那个图像的一块区域,分别为 左上,右上,左下,右下。
2.一个页面的第一个表单可以被索引为
window.document.forms[0] 其余仍此类推
3.eval();
将一个字符串当作一个javascript表达式去执行
var val = "2+2";
var result = eval(val);
alert(result);
弹出结果为4
<img src="a.gif" name="A">
<img src="b.gif" name="B">
function swapImage()
{
var im = prompt("请输入你要改变的图像,A或者是B:","");
var temp = "window.document."+im;
var realy = eval(temp);
realy.src = "c.jpg";
}
4.改变一个Textbox的方法
<form name = "the_form">
<input type="text" name="the_name">
</form>
1.document.window.forms[0].elements[0].value = "value";
2.document.window.form[the_form].elements[the_name].value = "value";
3.document.window.the_form.the_name.value = "value";
4.var temp = "window.document."+the_from+"."+the_name+".value";
var realy = eval(temp);
realy = "value";
第五课
调试
var debug = "none"
function doError(message)
{
if(debug == "alert")
{
alert(message);
}
else if(debug == "text")
{
windows.document.forms[0].elements[0].value = message;
}
}
当系统完成交付使用时可将debug的变量 debug = "none" 这样无需删除所有测试语句
优性
1.限制循环里的工作量。可以放在循环外的不要加到循环里面去。
2.if else 按最可能到最不可能的顺序
结束.