Js中的函数

在计算机语言的学习过程中都避不开一个概念:函数。

直白一些说,函数就是一组实现某个特定功能的代码块。但不是所有牛奶都叫特仑苏,函数比起其他部分的代码不同的地方,在我看来,就是函数通常是可以复用的。

简单来讲,我要实现一个功能,而且在很多地方都要实现这个功能,那么我就可以把这个功能写成函数,在需要用到它的时候直接调用就可以了。

这样做能够极大地简化代码,减少重复率,降低耦合度。

Js中的函数有两种形式:声明式和赋值式。

声明式 :

函数声明的关键字 : function

function 关键字 和 var 关键字的行为几乎一致,都会在内存上开辟一块空间,用来存储变量之中的数据;

function 函数名( 条件 ){

代码

}

函数定义的规范:

函数名的首字母小写;

函数的命名规则和变量命名规则基本一致;

声明时不要漏掉函数的名字。

举例:一个简单的函数声明

function foo(){

console.log("hello world");

}   

函数声明之后,并不会马上执行,而是等到程序中调用之后才会执行。

例如一个空调,开机后并不会立即工作,而当用户点击制冷后,才开始制冷;选择制热后,开始加热。

function foo( a ){

        if( a === "制冷"){

            console.log("室温变低了");//制冷功能

        }

        if( a === "制热"){

            console.log("室温变高了");//制热功能

        }

}

foo( "制冷" );//功能的调用

foo( "制热" );

赋值式 :

函数也可以是数据类型的一种,我们可以认为函数是一种数据。事实上,它也能为它赋值的对象返回特定值。在赋值式函数声明中可以没有函数名,这是与声明式不同的地方。

var sum=function(n1,n2){

        return n1+n2;

}

需要注意的是,赋值式是无法被调用的,因为他的作用范围是局部的。

还有一个有趣的地方需要注意,两个赋值式函数哪怕看起来一样,其实也是不同的。

var foo1 = function(){}

var foo2 = function(){}

console.log(foo1 === foo2); // false;

虽然他们看起来是一样的,但他们在内存中占据的是不同的空间,所以他们并不相同。

函数调用有两种形式;

一是在js代码之中调用,就如前面的例子所示;另一种是浏览器在特定时机时调用,通常用于一些触发事件。

例如:

<button id="btn">你点我一下试试</button>

<script>

function foo(){

console.log("hello world");

}

foo();//代码调用方式

btn.onclick = foo;//点击事件调用

</script>

 

原文地址:https://www.cnblogs.com/jmsh/p/12390968.html