UDN-企业互联网技术人气社区

板块导航

浏览  : 529
回复  : 3

[实例] JavaScript经典实例 笔记2 math 数组等方法

[复制链接]
西北的风的头像 楼主
发表于 2015-8-10 09:43:40 | 显示全部楼层 |阅读模式
4.1.3使用javascript对象
每个javascript对象都有一个相关属性和方法的集合,利用这些方法和属性来操作数据。比如,array 对象包含一些方法和属性,用于操作数组或者从数组中检索信息。
创建对象
  1. var myArray = new Array( );  
复制代码
即使用 var 关键字定义了一个名字myArray 的变量,右侧,new 运算符告诉javascript 将要创建一个新对象,接着是 Array ()函数,他说明了我们要创建的是哪一种对象。
一个变量,存储一个对象和存储一个基本数据类型的数据有什么不同?
当存储的是基本数据类型时,变量中保存的实际值。而当把某个对象赋值给变量时,变量中并不保存对象中的实际数据,只保存一个指向该对象数据的内存地址。但不可以操作内存地址。即对象赋值给变量时,变量保存的是一个对内存地址的引用。
  1. var myarray = new Array(0,1,2);  
  2. var mesecondarray= mrarray;  
  3. myarray[0]=100;  
  4. alert(mysecondarray[0]);  
复制代码
这样输出是100.  上述代码,首先把变量myarray 的值设置为一个新的数组对象,然后把变量mysecondarray 的值设置为变量myarray的值,使得两个变量引用同一个数组。
当吧myarray 的值赋值给mysecondarray 时,并不会把myarray 引用的数组复制到变量中,而是把自己的引用复制到变量中。
对象的属性,通过一个点号来引用(.)比如 myarray.length
调用对象的方法
比如  myaray.sort( )

判断首字母大小的函数:用到mystring.charAt( ),来读取首字母。
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5.   
  6. <title>Insert title here</title>  
  7. <script type="text/javascript" >  
  8.    
  9. function checkCharType(mystring){   
  10.     //-------错误一:把函数用var来定义,出错,函数应该是function-------  
  11.     var firstChar = mystring.charAt(0);  
  12.     if(firstChar <="Z" && firstChar >= "A")  
  13.      return("u");  
  14.     else if(firstChar>="a"&& firstChar<="z")  
  15.         return("l");  
  16.     else if(firstChar>="0"&& firstChar<="9")  
  17.         return("n");  
  18.     else return("f");  
  19. }  
  20. </script>  
  21. </head>  
  22. <body>  
  23. <script type="text/javascript">  
  24.   
  25. var mystring=prompt("enter some text");  
  26. switch (checkCharType(mystring)){  
  27. case "u": //--------错误三: 写为case("u"): 错误!!------------  
  28.      document.write("the first character was upper");  
  29.      break; //----错误二:在switch语句中没有break,会继续向下执行--------  
  30. case "l":  
  31.      document.write("the first character was upper");  
  32.      break;  
  33. case "n":  
  34.      document.write("the first character was a number");  
  35.      break;  
  36. case "f":  
  37.      document.write("the character was not a number or string");  
  38.      break;  
  39. }  
  40. </script>  
  41. </body>  
  42. </html>  
复制代码
但是在 checkCharType 函数里使用了四个return ,使函数的执行流难以判断,可以修改为先定义一个 returnValue ,通过改变它的值,最后返回 returnValue。修改后:
  1. <script type="text/javascript" >  
  2.    
  3. function checkCharType(mystring){   
  4.     //-------错误一:把函数用var来定义,出错,函数应该是function-------  
  5.     var firstChar = mystring.charAt(0);  
  6.     var returnValue="f";  
  7.       
  8.     if(firstChar <="Z" && firstChar >= "A")  
  9.          returnValue="u";   // return("u");  
  10.       
  11.     else   
  12.         if(firstChar>="a"&& firstChar<="z")  
  13.          returnValue="l";   //return("l");  
  14.          
  15.     else   
  16.         if(firstChar>="0"&& firstChar<="9")  
  17.          returnValue="n";    //return("n");  
  18.            
  19.     else  returnValue="u";   //return("f");  
  20.       
  21.     return returnValue;  
  22. }  
  23. </script>  
复制代码
indexOf(searchString,startPosition )   和 lastIndexOf( )[ps lastIndexOf() 在字符串结尾或指定位置从后向前查找]
查找子串在字符串中的位置,返回位置,如果找不到字串,返回-1.
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title>Insert title here</title>  
  6. </head>  
  7. <body>  
  8. <script type="text/javascript">  
  9.    
  10. var mystring = prompt("enter some text");  
  11. var position =0;  
  12. var i=0;  
  13.   
  14. while(position != -1){      
  15. position= mystring.indexOf("o",position);//--------查找字母o 有几个---------  
  16. if(position!=-1){  
  17.      i++;  
  18. position++;  
  19. }  
  20. }  
  21. document.write("there are "+ i+ "")  
  22. </script>  
  23. </body>  
  24. </html>  
复制代码
substr() 和 substring() -------复制字符窜的一个子串
  1. var mystring="javascript";  
  2. var mysubstring=mystring.substring(0,4);//----起始位置0,结束位置4  ps:结束位置不包含在子串中----  
  3. alert(mysubstring);//-----输出Java------  
复制代码
PS:区别 substr( start,length) ;substring(strat,end)
toLowerCase() 以及toUpperCase() 转换大小写
mystring.toLowerCase();-----转化为小写字符串------
Math
随机输出1-6的6个数字。
  1. [html] view plaincopy
复制代码
Math.random()  
是0-1之间随机数,不包含1.如果想要1-100之间的随机数,只需要math.random()*100 即可。
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title>Insert title here</title>  
  6. </head>  
  7. <body>  
  8. <script type="text/javascript">  
  9. var i=0;  
  10. var diceThrow;  
  11. for(i=0;i<6;i++){ //-----6个数字-------  
  12.     diceThrow=Math.floor(Math.random()*6+1);  
  13.                   //---------Math.random(),1-0之间的随机数,Math.random()*6,0-6之间随机数。加1,7-0之间的随机数,floor(),则取整-----------  
  14.     document.write(diceThrow+"</br>");  
  15. }  
  16.   
  17. </script>  
  18. </body>  
  19. </html>  
复制代码
其中 Math.floor(number ) 表示对number向下取整。

sort()方法-------对数组进行排序
数组中有相同类型数据时,例如数组的元素是一个名字列表或者年龄列表时面可以按照字母表升序或者数字大小来排列数组中的元素。
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title>Insert title here</title>  
  6. </head>  
  7. <body>  
  8. <script type="text/javascript">  
  9. var myarray = new Array(10,4,67,34);  
  10. for(i=0;i< myarray.length;i++){  
  11.       
  12.     document.write(myarray+",");  
  13. }  
  14. myarray.sort();//-----对myarray数组进行排序------  
  15. var i;  
  16. document.write("<br>排序之后:<br>")  
  17. for(i=0;i< myarray.length;i++){  
  18.       
  19.     document.write(myarray+",");  
  20. }  
  21. </script>  
  22. </body>  
  23. </html>
复制代码
20141019165234785.jpg

  

但是可以看到排序输出,排序只是按照第一个数字的大小而不是数值大小排序的。
join()-------将数组转化为字符串
  1. myarray.join("<br/>")  
复制代码
join 后面的参数是数组元素之间连成字符的间隔符。




JavaScript经典实例 笔记1 数据 数组
http://udn.yyuap.com/thread-40861-1-1.html

JavaScript经典实例 笔记2 math 数组等方法
http://udn.yyuap.com/thread-40853-1-1.html

JavaScript经典实例 笔记3 表单
http://udn.yyuap.com/thread-40827-1-1.html

JavaScript经典实例 笔记4
http://udn.yyuap.com/forum.php?m ... =1&extra=#pid195615

JavaScript经典实例 笔记5(打开新窗口)
http://udn.yyuap.com/forum.php?m ... =1&extra=#pid193883

JavaScript经典实例 笔记6 字符串操作(1)
http://udn.yyuap.com/forum.php?m ... =1&extra=#pid193871

JavaScript经典实例 笔记7 字符串操作(2)--正则
http://udn.yyuap.com/forum.php?m ... =1&extra=#pid193851

JavaScript经典实例 笔记 8 时间 计时器
http://udn.yyuap.com/forum.php?m ... =1&extra=#pid195393

JavaScript经典实例 笔记9 cookie
http://udn.yyuap.com/forum.php?m ... =1&extra=#pid193945

相关帖子

发表于 2015-8-12 14:41:14 | 显示全部楼层
感觉JavaScript很有前途
使用道具 举报

回复

发表于 2015-8-17 10:35:42 | 显示全部楼层
占坑编辑ing
使用道具 举报

回复

发表于 2015-8-17 22:23:11 | 显示全部楼层
我完全是被标题<<JavaScript经典实例 笔记2 math 数组等方法>>吸引过来的
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部