javaScript 中的一些方法

时间:2023-02-13 08:04:45

1,sort()方法

           sort()这个方法的参数很奇怪,必须是函数,但也是可选参数,如果没有参数的话,就会默认以字符串的字典顺序来排列

 (就算是数值,也会被转化为字符串来处理)。这个参数是要能够比较两个值的大小,如:

  function sortNumber(a, b){
   return a - b; //这里返回的是他们的差值,如果是小于0的值,就会将a排在前面,如果大于0,就会将b排在前面,如果是0的话,就随便。(冒泡排序法!!)
 }

列如:

<script type="text/javascript">
function sortNumber(a,b){return a - b}
var arr = new Array(3)
arr[0] = "10";
arr[1] = "5";
arr[2] = "4";
document.write(arr + "<br />");
document.write(arr.sort(sortNumber));
</script>

  那么原本是10,5,4的排列就会变成4,5,10.这里说明一下这个过程,明明sortNumber应该是有两个参数,但是我们在调用时却一个参数都没有,怎么进行比较啊?这里是这样的,当arr从第一个数开始调用sort时,10前面是没有数与它比较的,所以就到第二个,就是5,这时10就会与5比较,于是就会调用sortNumber并将10和5传进去,这是sort()的特性。

2,concat() 方法

concat() 方法用于连接两个或多个字符串。

该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。

例如:

var str1="Hello ";
var str2="world!";
var str3=" Have a nice day!";
var n = str1.concat(str2,str3);

n 输出结果:

Hello world! Have a nice day!   3,join() 方法        join() 方法:  把数组中的所有元素放入一个字符串中形式:      arrayObj.join(separator);      separator 可选项 省略该参数,则使用逗号作为分割符例如:     var arr = new Array(3);
    arr[0] = "George";
    arr[1] = "John";
    arr[2] = "Thomas";    arr.join();//"George,John,Thomas"    arr.join(".");//"George.John.Thomas"

 4,split() 方法

  将一个字符串分割为子字符串,将结果作为字符串数组返回,若字符串中存在多个分割符号,亦可分割。

   形式:  stringObj.split([separator,[,limit]])  stringObj 必选项 string对象或者文字 该对象不会被split方法修改  separator 可选项 字符串或者正则表达式对象  limit 可选项 返回数组中的元素个数  例如:  (1)普通    var str ="Hello World!";  

    str.split("");  //["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d", "!"]  

    str.split(" ");  //["Hello", "World!"]  

    str.split("",3); //["H", "e", "l"]      

      (2)正则

    var numStr = "1a2b3c";  

    numStr.split(/\d/) ;  //["", "a", "b", "c"]  ":a:b:c".split(":");//["", "a", "b", "c"]

       var myStr = "sharejs.com,google.com,baidu.com_weibo.com_haotu.net";  

    myStr.split(/[,_]/);  //["sharejs.com", "google.com", "baidu.com", "weibo.com", "haotu.net"]