首页 > 代码库 > 6.8

6.8

1、数组函数

concat

将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响。

var arr = ["a","b","c"];
var arr1 = arr.concat("d","e");
//arr1 = ["a","b","c","d","e"]

join

以指定的字符作为分割符,将数组转换为字符串,当指定字符为逗号时,其作用和 toString() 相同。

var str1 = arr.join(",");
//str1 = "a,b,c"

pop

通俗的讲,就是弹出数组的最后一个元素。结合下面的 push 方法,使得将数组作为栈来使用成为可能。pop 方法返回数组最后一个元素的值,并将 length 属性减 1,即返回后立即丢失最后一个元素。

var item1 = arr.pop();
//item1 = "c"

push

将参数添加到数组的结尾。

arr.push("d","e");
alert(arr);
//arr = ["a","b","c","d","e"]

reverse

将数组中的元素反转排列,这个操作是在原有数组上经行操作,同时也返回数组本身。

arr.reverse();
alert(arr);
//arr = ["c"."b","a"]

shift

移去数组的第一个元素,并返回这个元素的值。这个方法的性质和 pop 方法很类似,pop 方法是移去最后一个元素。

var item1 = arr.shift();
//item1 = "a"

unshift

将参数列表插入到数组的开头。其性质和 push 方法类型,但 push 方法是将元素添加到数组的结尾。

arr.unshift("d","e");
alert(arr);
//arr = ["d","e","a","b","c"]

slice

返回数组对象的一个子集,索引从开始(包括开始位置元素),到结束(不包括结束位置元素),原有数组不受影响。当 开始或者结束为负数时,则使用他们加上数组长度后的值。如果结束小于等于开始,将返回空数组。

var item1 = arr.slice(1,2);
//item1 = "b"
var item2 = arr.slice(-2,-1);
//item2 = "b"

splice

从数组对象中移除指定长度的元素,并替换为新的元素(相当于执行替换操作)。如果没有指定新的元素,则相当于执行删除操作。返回被删除元素组成的数组。

var arr1 = arr.splice(1,2,"d","e");
//arr1 = ["b","c"]
alert(arr);//["a","d","e"]
var arr2 = arr.splice(1,2);
//arr2 = ["d","e"]
alert(arr);
//arr = ["a"]
2、二维码的插件是什么
二维码编码插件是以插件方式提供图片格式的二维条码编码,供二次开发。
● 支持IE,FireFox和chrome等浏览器调用。
● 生成PDF417、QR Code、DataMatrix等二维条码;
● 二维条码生成控件能将文字(任何语种的文字)、二进制数、照片(可压缩)、掌纹、指纹、声音、签名等信息编码生成二维条码,并可实施信息加密;
● 提供串口设置及调用函数;
● 通用性强,普遍适合一般串口通信传输。
3、禁止鼠标点击的使用方法
方法一:最简单的方法 

<SCRIPT language="JavaScript">  

  function click() 

  {  

   if(event.button==2) 

     { 

        alert(‘右键不能用了!‘)  

     }  

  }  

  document.onmousedown=click  

</SCRIPT>  

    这是最简单,也是最常用的方法 

 

方法二:添加到收藏夹 

<SCRIPT language="JavaScript">  

  function click() 

  {  

     if(event.button==2) 

     { 

        window.external.addFavorite(‘http://www.iqicol.com‘,‘爱奇酷‘); 

     } 

  }  

  document.onmousedown=click  

</SCRIPT> 

 

方法三:使右键失效 

将<body>改成<body oncontextmenu=self.event.returnValue=http://www.mamicode.com/false>

    该方法须IE5以上 

 

方法四: 

将<body>改成<body ondragstart="window.event.returnValue=http://www.mamicode.com/false" oncontextmenu="window.event.returnValue=http://www.mamicode.com/false" onselectstart="event.returnValue=http://www.mamicode.com/false"> 

    该方法使鼠标失效,效果和方法三差不多,但此时不能用鼠标选取页面上的内容,同时“编辑->全选”也没有作用。
4、数组里怎样取出和插入内容
int[] num=new int[10];//原数组
int[] num1=new int[10];//偶数组
int[] num2=new int[10];//奇数组
int j=0;
for(int i=0;i<num.length;i++){
   if(num[i]%2==0){
      num1[j]=num[i];
      j++;
   }
   else{
      num2[j]=num[i];
      j++;
   }
}
5、递归
递归(recursion):程序调用自身的编程技巧。
递归满足2个条件:
1)有反复执行的过程(调用自身)
2)有跳出反复执行过程的条件(递归出口)

6、内置函数
1.常规函数
   javascript常规函数包括以下9个函数:
   (1)alert函数:显示一个警告对话框,包括一个OK按钮。
   (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
   (3)escape函数:将字符转换成Unicode码。
   (4)eval函数:计算表达式的结果。
   (5)isNaN函数:测试是(true)否(false)不是一个数字。
   (6)parseFloat函数:将字符串转换成符点数字形式。
   (7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
   (8)prompt函数:显示一个输入对话框,提示等待用户输入。例如:
   <script language="javascript">
   <!--
   alert("输入错误");
   prompt("请输入您的姓名","姓名");//(标题,预设值)
   confirm("确定否!");
   //-->
   </script>
   (9)unescape函数:解码由escape函数编码的字符。

---------------------------------------------------------------------------------------

2.数组函数
   javascript数组函数包括以下4个函数:
   (1)join函数:转换并连接数组中的所有元素为一个字符串。例:
     function JoinDemo()
     {
      var a, b;
      a = new Array(0,1,2,3,4);
      b = a.join("-");//分隔符
      return(b);//返回的b=="0-1-2-3-4"
     } 
   (2)langth函数:返回数组的长度。例:
     function LengthDemo()
     {
      var a, l;
      a = new Array(0,1,2,3,4);
      l = a.length;
      return(l);//l==5
     } 
   (3)reverse函数:将数组元素顺序颠倒。例:
    function ReverseDemo()
    {
     var a, l;
     a = new Array(0,1,2,3,4);
     l = a.reverse();
     return(l);
    } 
   (4)sort函数:将数组元素重新排序。例:
     function SortDemo()
     {
      var a, l;
      a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
      l = a.sort();
      return(l);
     } 


---------------------------------------------------------------------------------------

3.日期函数
   javascript日期函数包括以下20个函数:
   (1)getDate函数:返回日期的“日”部分,值为1~31。例:
    function DateDemo()
    {
     var d, s = "Today‘s date is: ";
     d = new Date();
     s += (d.getMonth() + 1) + "/";
     s += d.getDate() + "/";
     s += d.getYear();
     return(s);
    } 
   (2)getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六。例:
    function DateDemo()
    {
     var d, day, x, s = "Today is: ";
     var x = new Array("Sunday", "Monday", "Tuesday");
     var x = x.concat("Wednesday","Thursday", "Friday");
     var x = x.concat("Saturday");
     d = new Date();
     day = d.getDay();
     return(s += x[day]);
    } 
   (3)getHours函数:返回日期的“小时”部分,值为0~23。例。
    function TimeDemo()
    {
     var d, s = "The current local time is: ";
     var c = ":";
     d = new Date();
     s += d.getHours() + c;
     s += d.getMinutes() + c;
     s += d.getSeconds() + c;
     s += d.getMilliseconds();
     return(s);
    } 
   (4)getMinutes函数:返回日期的“分钟”部分,值为0~59。见上例。
   (5)getMonth函数:返回日期的“月”部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。见前面的例子。
   (6)getSeconds函数:返回日期的“秒”部分,值为0~59。见前面的例子。
   (7)getTime函数:返回系统时间。
    function GetTimeTest()
    {
     var d, s, t;
     var MinMilli = 1000 * 60;
     var HrMilli = MinMilli * 60;
     var DyMilli = HrMilli * 24;
     d = new Date();
     t = d.getTime();
     s = "It‘s been "
     s += Math.round(t / DyMilli) + " days since 1/1/70";
     return(s);
    } 
   (8)getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。
    function TZDemo()
    {
     var d, tz, s = "The current local time is ";
     d = new Date();
     tz = d.getTimezoneOffset();
     if (tz < 0)
     s += tz / 60 + " hours before GMT";
     else if (tz == 0)
     s += "GMT";
     else
     s += tz / 60 + " hours after GMT";
     return(s);
    } 
   (9)getYear函数:返回日期的“年”部分。返回值以1900年为基数,例如1999年为99。前面有例子。
   (10)parse函数:返回从1970年1月1日零时整算起的毫秒数(当地时间)。
    function GetTimeTest(testdate)
    {
     var d, s, t;
     var MinMilli = 1000 * 60;
     var HrMilli = MinMilli * 60;
     var DyMilli = HrMilli * 24;
     d = new Date();
     t = Date.parse(testdate);
     s = "There are "
     s += Math.round(Math.abs(t / DyMilli)) + " days "
     s += "between " + testdate + " and 1/1/70";
     return(s);
    } 
   (11)setDate函数:设定日期的“日”部分,值为0~31。
   (12)setHours函数:设定日期的“小时”部分,值为0~23。
   (13)setMinutes函数:设定日期的“分钟”部分,值为0~59。
   (14)setMonth函数:设定日期的“月”部分,值为0~11。其中0表示1月,...,11表示12月。
   (15)setSeconds函数:设定日期的“秒”部分,值为0~59。
   (16)setTime函数:设定时间。时间数值为1970年1月1日零时整算起的毫秒数。
   (17)setYear函数:设定日期的“年”部分。
   (18)toGMTString函数:转换日期成为字符串,为GMT格林威治标准时间。
   (19)setLocaleString函数:转换日期成为字符串,为当地时间。
   (20)UTC函数:返回从1970年1月1日零时整算起的毫秒数,以GMT格林威治标准时间计算。


---------------------------------------------------------------------------------------

4.数学函数
   javascript数学函数其实就是Math对象,它包括属性和函数(或称方法)两部分。其中,属性主要有下列内容。
   Math.e:e(自然对数)、Math.LN2(2的自然对数)、Math.LN10(10的自然对数)、Math.LOG2E(e的对数,底数为2)、Math.LOG10E(e的对数,底数为10)、Math.PI(π)、Math.SQRT1_2(1/2的平方根值)、Math.SQRT2(2的平方根值)。
   函数有以下18个:
   (1)abs函数:即Math.abs(以下同),返回一个数字的绝对值。
   (2)acos函数:返回一个数字的反余弦值,结果为0~π弧度(radians)。
   (3)asin函数:返回一个数字的反正弦值,结果为-π/2~π/2弧度。
   (4)atan函数:返回一个数字的反正切值,结果为-π/2~π/2弧度。
   (5)atan2函数:返回一个坐标的极坐标角度值。
   (6)ceil函数:返回一个数字的最小整数值(大于或等于)。
   (7)cos函数:返回一个数字的余弦值,结果为-1~1。
   (8)exp函数:返回e(自然对数)的乘方值。
   (9)floor函数:返回一个数字的最大整数值(小于或等于)。
   (10)log函数:自然对数函数,返回一个数字的自然对数(e)值。
   (11)max函数:返回两个数的最大值。
   (12)min函数:返回两个数的最小值。
   (13)pow函数:返回一个数字的乘方值。
   (14)random函数:返回一个0~1的随机数值。
   (15)round函数:返回一个数字的四舍五入值,类型是整数。
   (16)sin函数:返回一个数字的正弦值,结果为-1~1。
   (17)sqrt函数:返回一个数字的平方根值。
   (18)tan函数:返回一个数字的正切值。


---------------------------------------------------------------------------------------

5.字符串函数
   javascript字符串函数完成对字符串的字体大小、颜色、长度和查找等文明作,共包括以下20个函数:
   (1)anchor函数:产生一个链接点(anchor)以作超级链接用。anchor函数设定<A NAME...>的链接点的名称,另一个函数link设定<A HREF=http://www.mamicode.com/...>的URL地址。
   (2)big函数:将字体加到一号,与<BIG>...</BIG>标签结果相同。
   (3)blink函数:使字符串闪烁,与<BLINK>...</BLINK>标签结果相同。
   (4)bold函数:使字体加粗,与<B>...</B>标签结果相同。
   (5)charAt函数:返回字符串中指定的某个字符。
   (6)fixed函数:将字体设定为固定宽度字体,与<TT>...</TT>标签结果相同。
   (7)fontcolor函数:设定字体颜色,与<FONT COLOR=color>标签结果相同。
   (8)fontsize函数:设定字体大小,与<FONT SIZE=n>标签结果相同。
   (9)indexOf函数:返回字符串中第一个查找到的下标index,从左边开始查找。
   (10)italics函数:使字体成为斜体字,与<I>...</I>标签结果相同。
   (11)lastIndexOf函数:返回字符串中第一个查找到的下标index,从右边开始查找。
   (12)length函数:返回字符串的长度。(不用带括号)
   (13)link函数:产生一个超级链接,相当于设定<A HREF=http://www.mamicode.com/...>的URL地址。
   (14)small函数:将字体减小一号,与<SMALL>...</SMALL>标签结果相同。
   (15)strike函数:在文本的中间加一条横线,与<STRIKE>...</STRIKE>标签结果相同。
   (16)sub函数:显示字符串为下标字(subscript)。
   (17)substring函数:返回字符串中指定的几个字符。
   (18)sup函数:显示字符串为上标字(superscript)。
   (19)toLowerCase函数:将字符串转换为小写。
   (20)toUpperCase函数:将字符串转换为大写。

6、什么是对象

所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。

7、原型链

当从一个对象那里调取属性或方法时,如果该对象自身不存在这样的属性或方法,就会去自己关联的prototype对象那里寻找,如果prototype没有,就会去prototype关联的前辈prototype那里寻找,如果再没有则继续查找Prototype.Prototype引用的对象,依次类推,直到Prototype.….Prototype为undefined(Object的Prototype就是undefined)从而形成了所谓的“原型链”。

8、全局变量、局部变量

全局变量是编程术语中的一种,源自于变量之分。

变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。一个局部变量在被其它对象引用时,会是一个空值。但全局变量却不会出现这种情况。



6.8