黑马程序员-javascript(中)

来源:互联网 发布:网络推广招聘东莞 编辑:程序博客网 时间:2024/05/18 02:00

1、js中定义数组的两种形式:

1)var arr=[];

   var arr=[3,4,5,9];注意直接打印数组名,就可以输出数组中的元素,document.write(arr);

  alert(typeof()arr); 输出:Object(对象类型)

js中数组的长度是可变的,元素的类型是任意的。

假如数组的长度只有3,而现在却给arr[4]赋值,(arr[4]=56;)若打印数组,则arr[3]的值为undefined,而arr[4]的值为56

2)使用js中的Array对象来完成

var  arr=new Array();   //相当于 var  arr=[];

var  arr1=new    Array(5)  //定义一个长度为5的数组

var   arr2=new    Array(1,2,3); //定义一个数组,存储的元素是1,2,3

2、js中的函数

定义格式: function  函数名(参数列表)/////function是关键字

{

 函数体;

return  返回值;//(注意,若没有具体的返回值,return可以省略不写)

}

函数细节:

1)每个函数中存在一个默认的数组,对传入函数的参数进行存储,这个数组的名称是arguments

2)定义数组时这样写  function  sum(x,y)  

{

return x+y;

}

不要写成这样         function sum(var x,var y)

{

return x+y;

 

}

3)注意 变量的作用范围

 function  show(x,y)

{

for(var x=0;x<arguments.length;x++)

{

Documents.write(arguments[x]);

}

}

 

这样写是不对的,注意两个x不能同名。

只要是定义在script标签中的变量,在script标签中都有效,(在另一个script标签中也有效,只要是在一个网页中),但是在函数内部定义的变量是局部变量,只是在函数内部有效。

 

 

4) 定义一个函数sum   ,    function  sum()

{

return 100;

 

}

var  a=sum(); 

Alert(a=+a);  //打印100

若是写成这样 :

Var  a=sum;

再打印呢?会出现什么效果

会输出:             function  sum()

{

return 100;

 

}

注意,由于js是完全基于对象的,所以创建的函数就是一个函数对象,这个对象的名称

就是函数名。

原理:

5)js中的动态函数(使用的是js中的内置的一个对象Function

  eg

     var  add=new  Function(x,y,var sum;  sum=x+y;  return sum;);

     var   he=add(4,8);

 alert(he=+he);

那么动态性体现在哪儿呢?

首先我们注意到Function中的参数都是字符串,而字符串的内容我们可以动态传入,所以就体现了其动态性。

 

6)Js中的匿名函数(没有名字的函数,通常是函数的简写形式)

egvar   add3=function(a,b) ///(注意此处的function为小写,而上面的Function为大写)

{

return a+b;

}

 

alert(add3(7,8));

7)导入外部的js文件

<script  type=text/javascript  src=out.js>  < /javascript>

 

  

 


0 0
原创粉丝点击