mllongze 发表于 2013-1-19 04:09:58

javascript实用技巧

一些常用的javascript方法

学习中……
【数组】
=========================================
1、concat方法
[作用] 将多个数组联合起来,这个方法不会改变现存的数组,它只返回了所结合数组的一份拷贝。
[语法] arrayObj.concat(array1,array2,...)
[实例]   
程序代码
<script type="text/javascript">
    var array1 = new Array("1","2");
    var array2 = new Array("3","4");
    var array3 = array1.concat(array2);
    document.write(array3+"<br/>");
    document.write(array3);
    </script>


2、join方法,
[作用] 将原有数组对象转换成1个字符串,可以用指定分隔符进行串联。
[语法] arrayObj.join(separator),separator为分隔符,默认为“,”。
[实例]   
程序代码
<script type="text/javascript">
    var array1 = new Array("1","2");
    document.write(array1.join());
    </script>


3、pop、shift方法
[作用] pop方法删除和返回数组中最后一个元素,同时,数组的长度发生变化。与之相对的是shift()方法,删除和返回数组第一个元素。
[语法] arrayObj.pop|shift()
[实例]   
程序代码
<script type="text/javascript">
    var array1 = new Array("1","2","3","4");
    document.write(array1.pop()+"<br>");
    document.write(array1.length+"<br>");
    document.write(array1.shift()+"<br>");
    document.write(array1.length);
    </script>


4、push、unshift方法
[作用] 向数组的末尾添加一个或多个元素并且返回新的长度。同时,数组的长度将会被改变,与之相对应的是unshift方法。注意,方法的返回值并不是新的数组,而是新数组的长度。
[语法] arrayObj.push|unshift(ele1,ele2,ele3,...)
[实例]   
程序代码
<script type="text/javascript">
    var array1 = new Array("1","2","3","4");
    var newL = array1.push("5","6");
    document.write(newL+"<br>");
    document.write(array1);
    </script>


5、reverse方法
[作用] 把数组中的元素排列次序颠倒过来。
[语法] arrayObj.reverse()
[实例]   
程序代码
<script type="text/javascript">
    var array1 = new Array("1","2","3","4");
    document.write(array1.reverse());
    </script>


6、slice方法
[作用] 可将现存数组中选种的元素返回。
[语法] arrayObj.slice(startposition,endposition),第一个参数为必选,第二个为可选,如不写,则默认为从 startposition到最后一个元素。注意,包含startposition这个位置的元素,而不包括endposition。
[实例]   
程序代码
<script type="text/javascript">
    var array1 = new Array("1","2","3","4");
    document.write(array1.slice(0,2));
    </script>


7、sort方法
[作用] 用来对数组元素进行排序。
[语法] arrayObj.sort(sortRule())。参数可选,代表排序的方法。特别说明,sort排序有几个基本原则,第一,默认按照字母顺序排列;第二,大写字母排在小写字母之前。基与此,对于数字排序,需要自己写排序方法。
[实例]   
程序代码
<script type="text/javascript">
    var array1 = new Array("c","a","d","b");
    var array2 = new Array("c","a","D","b");
    var array3 = new Array("100","2","3","1")
    function sortRule(a,b){
      return a-b;
    }
    document.write(array1.sort()+"<br>");
    document.write(array2.sort()+"<br>");
    document.write(array3.sort(sortRule));
    </script>


8、splice方法
[作用]       向数组删除并加入新的元素。
[语法]       arrayObj.splice(index,number,ele1,ele2...)。index为索引位置,必须为数字,代表从哪个位置插入或者删除元素。number,代表从index位置往后删除的元素个数,如果为“0”则表示在index插入新元素,不删除往后的数组元素。(说得太混了~~~ 直接看代码实例)
[实例]
   
程序代码
<script type="text/javascript">
    var array1 = new Array("c","a","d","b");
    array1.splice(0,0,"m")
    document.write(array1+"<br>");
    array1.splice(0,2,"n")
    document.write(array1);
    </script>


9、toString方法
[作用] 使用率非常高的方法,直接将数组类型对象转换成字符串类型对象。
[语法] arrayObj.toString()
[实例]

程序代码
<script type="text/javascript">
    var array1 = new Array("c","a","d","b");
    strObj = array1.toString();
    document.write(strObj+"<br>");
    </script>

注意:新的字符串是原数组连接而成,但是中间有“,”分隔,如想去掉“,”,可以这样写:

程序代码
<script type="text/javascript">
    var array1 = new Array("c","a","d","b");
    strObj = array1.toString().replace(/,/g,"");
    document.write(strObj.replace+"<br>");
    </script>
【Event对象】
=========================================
Event对象代表事件的状态,比如事件在其中发生的元素,键盘按键的状态,鼠标的位置,鼠标按钮的状态,事件通常与函数结合使用,函数不会在事件发生之前执行!
canelBubble   ---->    如果事件句柄想阻止事件传播到包容对象,必须氢该属性设为true.
【JS实现禁用快捷键】
=========================================
//禁止用F5键
function document.onkeydown(){    if(evnet.keyCode==116){         event.keyCode = 0;         event.cancelBubble = true;         return false;    }}
//禁止右键弹出菜单
   function document.oncontextmenu(){         return false;   }
//实现全屏显示
   function window.onload(){            var Req = new Array();//保存参数            var s = location.search.substring(1);            if(s && s!=""){                var list = s.list("&");               for(var i=0;i<list.length;i++){                  var pari = list.split("=");                  if(pair && pair != ""){                        Req)] = unescape];                  }            }            }         var fullscreen = Req["fullscreen"];         if(fullscreen!="yes"){            var file = self.location;            var a = window.open("about:blank","","fullscreen=yes");            self.opener=null;            self.close();            a.location=file+"?fullscreen=yes";         }   }
//转载
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键      
//Author: meizz(梅花雨) 2002-6-18      
function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键      
function window.onhelp(){return false} //屏蔽F1帮助      
function document.onkeydown()      
{      
if ((window.event.altKey)&&      
((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←      
(window.event.keyCode==39))) //屏蔽 Alt+ 方向键 →      
{      
alert("不准你使用ALT+方向键前进或后退网页!");      
event.returnValue=false;      
}      
/* 注:这还不是真正地屏蔽 Alt+ 方向键,
因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/      
if ((event.keyCode==8) || //屏蔽退格删除键      
(event.keyCode==116)|| //屏蔽 F5 刷新键      
(event.ctrlKey && event.keyCode==82)){ //Ctrl + R      
event.keyCode=0;      
event.returnValue=false;      
}      
if (event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11      
if (event.ctrlKey && event.keyCode==78) event.returnValue=false; //屏蔽 Ctrl+n      
if (event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽 shift+F10      
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)      
window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页      
if ((window.event.altKey)&&(window.event.keyCode==115)) //屏蔽Alt+F4      
{      
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");      
return false;      
}      
}      
</script>
页: [1]
查看完整版本: javascript实用技巧