JavaScript中函数的入门学习(一)

   

因为JavaScript是一门函数式编程语言(functional language);因此呢,重点自然是有关函数部分的学习了;

这篇文章主要讲 函数的声明、参数赋值;

一、函数声明

1.1  JavaScript函数式使用函数字面量(function literal)进行声明从而创建函数值的;(官方说辞)

函数字面量由四个部分组成:

1.function 关键字;(很关键)

2.可选名称:这个怎么理解呢?翻译一下:函数可以有名称也可以没有,所以叫可选名称;没有名字的叫匿名函数

3.括号内部,一个以逗号分隔的参数列表;(注释:参数可以有也可以没有;如果有多个参数每个参数之间用逗号隔开);

4.函数体;

定义一个简单的函数:

function  funName(){

return "这是一个函数";

}

接下来讲一下,函数定义的几种方式:

第一种:常用的方式:function funName(){}   

第二种:匿名函数: function(){}

第三种:将函数赋给变量:

 var  test = function funName(){};

第四种:将函数作为对象的属性


var person ={

    test :function dbName(){}

};

第三、四又叫内联函数;内联函数的函数名只在函数体中可见(可以自己试一下);


1.2函数中可以添加属性和方法

JavaScript中的函数和其他很多语言中的函数不同,JavaScript中赋予函数最重要的特性之一是将函数作为第一型对象(ps:这个第一原型对象是相当于Java的object吧);

JavaScript中:函数中可以有变量、也可以有方法,可以分配属性和变量,可以共享普通对象所有拥有的属性,还有一个超级属性:被调用。。。。

JavaScript中函数的入门学习(一)

二、函数参数赋值

顺带提一下:在其他更纯面向对象的语言里,方法重载通常是通过在同名方法中申明不同的实现来达到目的,JavaScript中函数重载比较蛋疼,是通过传入参数的特性和个数进行相应的修改来达到目的;(至于如何实现可以自己试一下或者百度一下)

重点:函数有一个 arguments的属性:arguments属性指向所有传入参数的集合;通过arguments参数可以得到所有的传入的参数;

函数的length属性:声明函数时参数的个数(不要和arguments.length搞混淆了);

举个例子:

JavaScript中函数的入门学习(一)

运行结果:

JavaScript中函数的入门学习(一)