我的javascript小扎
来源:星火燎原 时间:2008-08-12 13:04:00
1.获取function形参个数functionName.length
2.较适用的运算符
delete:删除以前定义的对象属性或方法的引用
void:用于避免输出不应该输出的值,如:void(window.open())
instanceof:判断某个对象是否是某个类的实例
typeof:返回变量或对象的类型,如:typeof 'abcd'; //output string
3.Undefined、Null类型
当声明的变量未初始化时,该变量的值为:undefined
null表示不存在的对象,undefined从null派生 alert(undefined==null) //output "true"
4.Array数组(非常强大,各个元素的类型可以不一样的)
1)栈特性(后进先出LIFO):push()压栈、pop()出栈
2)队列特性(queue后进后出LILO):shift()前面出队(删除数组第一个元素)
3)不规则特性(插队):unshift()在数组第一个元素前添加一个元素
4)相关函数:
concat():合并两个数组,返回新数组
slice(a,b):从数组中提取元素,a起始位置、b结束位置
toString():返回所有元素用“,”分割的字符串
splice():比较复杂
删除:splice(0,2),删除前两个元素
插入:splice(2,0,'red','green'),在位置2处插入'red'和'green'
插入并删除:splice(2,1,'red','green'),在删除位置2处的元素,并在该位置插入'red'和'green'
5.编码函数
1)encodeURI()、decodeURI():不对特殊符号编码('/'、':'、'#'、'?'等)
2)encodeURIComponent()、decodeURIComponent():对所有非标准字符编码
3)escape()、unescape():只能对ASCII符号编码,不能对Unicode字符编码
6.js的类继承
function a(){
this.color='red';
this.showColor=function(){alert(this.color);}
}
function b(){
//this.prototype=new a(); //函数(类)内,这样写不行
}
b.prototype=new a(); //必须在类外,使用prototype关键字赋值基类的实例
var o=new b();
o.showColor();
通过这种方式创建的子类,方法和属性将被删除后赋予基类的属性及方法
如果将要给子类添加其他属性和方法,必须在类外且在继承语句之后,通过prototype给子类添加属性及方法
7.获取浏览器事件及获取触发目标
function(){
ev=window.event || arguments[0]; //window.event:IE,arguments[0]:firefox
src=ev.srcElement || ev.target; //ev.srcElement:IE,ev.target:firefox
alert(src.id);
}
8.取消事件触发
IE:ev.returnValue=false;
firefox:ev.preventDefalt();
9.阻止事件冒泡
IE:ev.cancelBubble=true;
firefox:ev.stopPropagation();
10.获取事件类型
ev.type
11.DOM相关
getElementsByTagName():根据HTML标签获取节点元素,获取所有元素:firefox:document.getElementsByTagName(*),IE:document.all
getElementsByName():根据name属性获取节点元素
getElementsById():根据id属性获取节点元素
createElement():创建指定标签名的元素
createTextNode():创建文本节点
appendChild():添加子元素
removeChild():删除指定元素
replaceChild():将指定的子节点替换为新节点
insertBefore():在指定子节点之前添加新节点
createDocumentFragment():创建一个文档碎片,作为容器将要添加的节点一次性添加到文档
parentNode:获取该节点的父节点