javascript笔记整理(函数)

javascript函数的声明和调用
将完成某一特定功能的代码集合起来,可以重复使用的代码块。

一、函数的声明方式(创建)

A.基本语法(function  关键字)
function 函数名([参数1],[参数2]....){
    函数体
    [retrun]  //返回值
}

function a(){
    alert(1)
};

B.字面量定义的形式(匿名函数)
var 变量=function ([参数1],[参数2]....){
    函数体
    [retrun]  //返回值
}

var a=function(){
    alert(1);
}

C.以对象的形式来声明(不推荐使用)
new 关键字。
var 变量=new Function([参数1],[参数2]...,"函数体");

var a=new Function(alert(1));

 二、函数的调用方式

A.函数名() 、变量名();

function a(){
    alert(1)
};	
a();

var a=function(){
    alert(1);
}	
a();

B.直接调用执行;

(function  () {
    alert(1);
})();		
//结果	1

 三、两种声明方式的区别

基本语法

function a(){
    alert(1)
};
//会先预编译

 1.如果两个函数的命名相同,后面的将会覆盖前面的函数

function a(){alert(1)};
function a(){alert(2)};
a();
//结果	2
function a(){alert(1)};
var a=function(){alert(2)};
a();
//结果	2
var a=function(){alert(2)};
function a(){alert(1)};
a();
//结果	2

2.以基本语法声明的函数,会在代码运行的时候,提前加载到内存当中,以供以后使用,但是以字面量形式命名的函数,会在执行到的时候,才进行赋值

function a(){alert(1)};
a();
//结果	1
a();
function a(){alert(1)};
//结果	1
a();
var a=function (){alert(1)};
//结果	报错

 3.在不同的<script></script>块中的函数,使用和调用的时候,应该先定义,后执行。

<script>
a();
</script>

<script>
var a=function (){alert(1)};
</script>

//结果 报错

 

javascript函数的参数和return语句

//金字塔

function a(num){ for(var i=1;i<=num;i++){ for(var b=1;b<=num-i;b++){ document.write('='); } for(var b=1;b<=i*2-1;b++){ document.write('8'); } for(var b=1;b<=num-i;b++){ document.write('='); } document.write('<br>'); } }; a(9);

 效果:

一、参数(可以动态的改变函数体内对应的变量的类型或值,使同一函数体得到不同的结果)

形参:在定义函数的时候,函数括号中定义的变量叫做形参:function a(形参){}

实参:调用函数的时候,在括号中传入的变量或值叫做实参:a(实参)

1.参数的类型(可以是任何的数据类型)

2.参数的个数(最多是25)

  a.实参和形参数量相等,一一对应。

  b.形参的数量多于实参,不会报错,但是多出的参数他的值,会自动赋值为undefined

function a(a,b){
    alert(a);
    alert(b)
};
a(1);
结果:1-------------undefined

   c.实参的数量多于形参。不会报错,但是要得到多出的实参的值,要用arguments对象

function a(a){
    alert(a)
};
a(1,2);
//结果:1

 二、arguments对象(每创建一个函数,该函数就会隐式创建一个arguments对象,他包含有实际传入参数的信息)

1.length(检测实际传入参数的个数)

function a(a){
    alert(arguments.length);
};
a(1,2);
//结果    2

2.callee(对本身的调用)

function a(a){
    alert(arguments.callee);
};
a(1,2);
//结果	function a(a){alert(arguments.callee)}

3.访问传入参数的具体的值([下标])

function a(a){
    alert(arguments[2]);
};
a(1,2,3);
//结果	3

 三、函数重载(同一个函数因为参数的类型或数量不同,可以对应多个函数的实现,每种实现对应一个函数体)

function a(){
    for(i=0;i<arguments.length;i++){
        alert(arguments[i]);
    } 
};
a(1,2,3);
//结果依次弹出 1、2、3    

 

posted @ 2015-11-02 17:33  羯瑞  阅读(194)  评论(0编辑  收藏  举报