在页面中加入下面代码
<script type="text/javascript">
window.moveTo(0, 0); // 移动窗口位置
window.resizeTo(screen.availWidth, screen.availHeight); // 调整窗口大小为最大可见
</script>
没有在宽屏显示器下试过效果。
每个函数就是一个对象,函数对象都有一个子对象 prototype 对象。
类是以函数的形式来定义的,也就是说类本身就是一个函数对象
prototype 表示该函数的原型,也表示一个类的成员的集合。
在通过 new 创建一个类的实例对象的时候,prototype 对象的成员都成为实例化对象的成员。
方法一
<script language="JavaScript">
function Man(name)
{
this.Name = name;
Man.prototype.Hi = function()
{
alert('Hi,I Am ' + this.Name);
}
}
var man = new Man('Xiao Ming');
man.Hi();
</script>
方法二
<script language="JavaScript">
Man = function(name)
{
this.Name = name;
}
var man = Man.prototype;
man.Name = '***';
man.Hi = function()
{
alert('Hi,I Am ' + this.Name);
}
var man = new Man('Xiao Ming');
man.Hi();
</script>
/************************************************************
相关函数说明
$(id) 根据元素id返回对象
GetLen(str) 计算字符串的长度,汉字占两个字符
InitHeight(obj) 自适应Iframe高度,Iframe元素的高度随里面的内容自适应高度
Close() 关闭窗口,FF默认不支持窗口关闭
GetElementByName(name, i) 根据元素名称返回对象,可能会有多个元素同名,i表示序号
ArrayRemove(array, n) 删除数组中指定位置的元素
************************************************************/
function $(id)
{
return document.getElementById(id);
}
function GetLen(str)
{
return str.replace(/[^\x00-\xff]/g, '**').length;
}
function InitHeight(obj)
{
obj.style.height = (obj.contentWindow.document.body.scrollHeight + 20) + 'px';
}
function Close()
{
window.opener = null;
window.open('', '_self');
window.close();
}
// 根据元素名称返回对象
function GetElementByName(name, i)
{
if (typeof(i) == 'undefined') i = 0;
var els = document.getElementsByName(name);
if (els.length > 0)
{
return els[i];
}
return null;
}
function ArrayRemove(array, n)
{
if(n < 0 || n >= array.length) return array;
// slice 方法返回数组的一段
// concat 方法将当前数组和指定的一个或多个数组整成一个
return array.slice(0, n).concat(array.slice(n + 1, array.length));
}
/************************************************************
Cookie 静态类。
功能:操作 Cookie。
1.Cookie.Exist(name) 检查 Cookie 是否存在
2.Cookie.Get(name) 读取 Cookie 的值,没有该 Cookie 返回 null
3.Cookie.Remove(name, path, domain) 删除 Cookie
4.Cookie.Add(name, value, expires, path, domain, secure) 添加 Cookie,更新和添加都一样
5.Cookie.Append(name, value) 追加值,用"|"分隔
************************************************************/
var Cookie =
{
Expires : 365,
Exist : function(name)
{
if (this.Get(name)) return true;
return false;
},
Get : function(name)
{
var strCookies = document.cookie;
var cookieName = name + '='; // Cookie名称
// 取得值的开始位置
var valueBegin = strCookies.indexOf(cookieName);
if (valueBegin == -1) return null; // 没有此Cookie
// 取得值的结尾位置
var valueEnd = strCookies.indexOf(';', valueBegin);
if (valueEnd == -1) valueEnd = strCookies.length; // 是最后一个Cookie
// 取得Cookie值
var value = strCookies.substring(valueBegin + cookieName.length, valueEnd);
return value;
},
Add : function(name, value, expires)
{
if (typeof(expires) == 'undefined') expires = this.Expires;
var strCookie = name + '=' + value;
if (expires)
{
// 计算Cookie的期限, 参数为天数
var curTime = new Date();
curTime.setTime(curTime.getTime() + expires*24*60*60*1000);
strCookie += '; expires=' + curTime.toGMTString();
}
document.cookie = strCookie;
},
Append : function(name, value, expires) // 值用“|”分隔
{
var oldValue = this.Get(name);
if (oldValue != null) value = oldValue + '|' + value;
this.Add(name, value, expires);
},
Remove : function(name)
{
var strCookie;
// 检查Cookie是否存在
if (this.Exist(name))
{
// 设置Cookie的期限为己过期
strCookie = name + '=;';
document.cookie = strCookie;
}
}
}
/************************************************************
Ajax 静态类。
功能:操作 XMLHttpRequest,实现 Ajax
Ajax.LoadXml(url, method, callback)
url 请求的地址
method 请求的方法,如GET或POST
callback 请求响应后,回调的方法,这个是自定义的函数名称
************************************************************/
var Ajax =
{
LoadXml : function(url, method, callback)
{
var xmlHttp;
if (window.ActiveXObject) // IE
{
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
else if (window.XMLHttpRequest) // FF
{
xmlHttp = new XMLHttpRequest();
}
if(!xmlHttp)
{
window.alert('不能创建 XMLHttpRequest 对象!');
return false;
}
xmlHttp.open(method, url, true);
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState != 4) return;
callback(xmlHttp);
}
xmlHttp.send(null);
}
}
一、需要实例的类
<script language="JavaScript">
<!--
function Car(name, color)
{
this.Name = name;
this.Color = color;
Car.prototype.Show = function()
{
alert('我是' + this.Name);
};
}
var car = new Car('宝马', '红色');
car.Show();
alert(car.Color + '的' + car.Name);
//-->
</script>
二、静态类
<script language="JavaScript">
<!--
var Car =
{
Name : '宝马',
Color : '红色',
ChangeColor : function(color)
{
this.Color = color;
}
}
Car.ChangeColor('白色');
alert(Car.Color + '的' + Car.Name);
//-->
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head>
<body>
<iframe id="FF" src="B.htm"></iframe>
<input type="submit" value=" OK " onclick="OK()"/>
<script language="JavaScript">
function OK()
{
// 操作iframe中内容的CSS
var iframe = document.getElementById('FF');
var body = iframe.contentWindow.document.body;
body.style.marginTop = 50;
body.style.padding = 0;
body.style.fontSize = 30;
body.style.textAlign = 'center';
body.style.backgroundColor = 'red';
body.style.color = 'blue';
}
</script>
</body>
</html>
JS中冒号的作用
1.声明对象的成员
2.switch语句分支
3.三元表达式
1.声明对象的成员
var Book =
{
Name: '法',
Price: 100,
Discount : function(rate)
{
this.Price *= rate;
}
};
alert(Book.Price);
Book.Discount(0.8); // 8折
alert(Book.Price);
2.switch语句分支
var a = 2;
switch (a)
{
case 0:
alert('0');
break;
case 1:
alert('1');
break;
case 2:
alert('2');
break;
default:
alert('_');
}
3.三元表达式
var a = 2;
var b = 4;
var k = (a > b ? 1 : 2);
鼠标相关事件
onclick 当鼠标单击时触发此事件
ondblclick 当鼠标双击时触发此事件
onmousedown 当按下鼠标时触发此事件
onmouseup 当鼠标按下后松开鼠标时触发此事件
onmouseover 当鼠标移动到某对象范围的上方时触发此事件
onmousemove 当鼠标移动时触发此事件
onmouseout 当鼠标离开某对象范围时触发此事件
键盘相关事件
onkeypress 当键盘上的某个键被按下并且释放时触发此事件
onkeydown 当键盘上某个按键被按下时触发此事件
onkeyup 当键盘上某个按键被按放开时触发此事件
页面相关事件
onerror 当出现错误时触发此事件
onload 当页面内容完成时触发此事件
onmove 当浏览器的窗口被移动时触发此事件
onresize 当浏览器的窗口大小被改变时触发此事件
onscroll 当浏览器的滚动条位置发生变化时触发此事件
onstop 当浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断
onunload 当前页面将被改变时触发此事件
表单相关事件
onblur 当前元素失去焦点时触发此事件
onchange 当前元素失去焦点并且元素的内容发生改变而触发此事件
onfocus 当某个元素获得焦点时触发此事件
onreset 当表单中RESET的属性被激发时触发此事件
onsubmit 当一个表单被递交时触发此事件
clipboardData 对象
提供了对剪贴板的访问。
三个方法
1.clearData(sDataFormat) 删除剪贴板中指定格式的数据。
2.getData(sDataFormat) 从剪贴板获取指定格式的数据。
3.setData(sDataFormat, sData) 给剪贴板赋予指定格式的数据。返回 true 表示操作成功。
例子
<script language="JavaScript">
<!--
var text = "123";
if (!window.clipboardData.setData('Text', text)) // 赋予 text 格式的数据
{
alert("复制失败!");
}
text = window.clipboardData.getData('Text'); // 获取 text 格式的数据
alert(text);
window.clipboardData.clearData('Text'); // 清除 text 格式的数据
text = window.clipboardData.getData('Text');
alert(text);
//-->
</script>
<script language="JavaScript">
<!--
var s = '汉';
alert(GetHexUTF8(s));
alert(encodeURI(s)); // encodeURI 类似 UrlEncode。如果字符是汉字,那么替换掉“%”就要它的十六进制的 UTF-8 编码
// 返回指定字符的 UTF-8 编码十六进制
function GetHexUTF8(s)
{
var r = '';
var uDec = s.charCodeAt(0); // Unicode 编码十进制
var uHex = DecToHex(uDec); // Unicode 编码十六进制
// 按 UTF-8 编码格式转换
if (uDec < 128) // 1字节,0xxxxxxx
{
r = uHex;
}
else if (uDec < 2048) // 2字节,110xxxxx 10xxxxxx
{
r += DecToHex(192 | uDec >> 6);
r += DecToHex(128 | uDec & 63);
}
else if (uDec < 65536) // 3字节,1110xxxx 10xxxxxx 10xxxxxx
{
r += DecToHex(224 | uDec >> 12);
r += DecToHex(128 | uDec >> 6 & 63);
r += DecToHex(128 | uDec & 63);
}
else if (uDec < 2097152) // 4字节,11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
{
r += DecToHex(240 | uDec >> 18);
r += DecToHex(128 | uDec >> 12 & 63);
r += DecToHex(128 | uDec >> 6 & 63);
r += DecToHex(128 | uDec & 63);
}
return r;
}
// 二进制转十进制
function BinToDec(s)
{
return parseInt(s, 2);
}
// 二进制转十六进制
function BinToHex(s)
{
return DecToHex(BinToDec(s));
}
// 十进制转二进制
function DecToBin(s)
{
return s.toString(2);
}
// 十进制转十六进制
function DecToHex(s)
{
return s.toString(16);
}
// 十六进制转二进制
function HexToBin(s)
{
return DecToBin(HexToDec(s));
}
// 十六进制转十进制
function HexToDec(s)
{
return parseInt(s, 16);
}
//-->
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
// Unicode 中汉字编码范围:4E00 - 9FA5
var startNum = HexToInt('4E00'); // 开始
var endNum = HexToInt('9FA5'); // 结束
var text = '';
var cols = 16; // 一行十六个
for (var i = startNum; i < endNum + 1; i++)
{
if (cols == 0)
{
cols = 16;
text += '<br/>';
}
text += String.fromCharCode(i);
cols--;
}
document.write('<div style="font-size: 50px;">');
document.write(text);
document.write('</div>');
// 十六进制转十进制
function HexToInt(s)
{
return parseInt(s,16);
}
// 十进制转十六进制
function IntToHex(s)
{
return s.toString(16);
}
//-->
</SCRIPT>