javascript 第三篇(入门篇)


 javascript 第三篇(入门篇)

 

 

 

            目录

目录 2

1章 函数基础 4

1.1 函数概述 4

1.1.1 什么是函数 4

1.1.2 为什么要用函数 4

1.2 函数的定义 5

1.3 参数 5

1.3.1 形参 5

1.3.2 实参 5

1.4 返回值 5

1.4.1 注意 6

1.5 案例 6

1.6 函数名、函数体和函数加载问题(重点记忆) 7

1.7 作业: 7

1.8 函数定义 7

1.8.1 函数声明(自定义声明) 7

1.8.2 函数表达式 8

1.9 变量和作用域(隐式全局变量和变量声明提升) 8

1.9.1 变量和作用域(函数中的变量需要函数执行后才能使用) 8

1.9.2 隐式全局变量 8

1.9.3 变量声明提升(出现原因:预解析) 9

2章 函数高级 10

2.1 匿名函数(了解) 10

2.2 函数是一种类型(了解) 11

2.3 函数作为参数(了解) 11

2.4 递归(理解) 11

2.5 小知识 11

2.5.1 函数不调用不执行 11

2.5.2 打印函数名就等于打印函数体(整个函数) 11

2.5.3 加载函数的时候,只加载函数名,不加载函数体 11

2.5.4 参数相当于局部变量 11

2.5.5 就近原则使用变量 11

2.5.6 两个评级的函数中的变量不会相互影响(可以使用同样的形参名) 11

 

 

 

 

 

 

第1章 函数基础 

1.1 函数概述

1.1.1 什么是函数

函数就是可以重复执行的代码块。

1.1.2 为什么要用函数

因为一部分代码使用次数可能会很多,所以封装起来,需要的时候调用就可以了。

案例:求和;(总是求和)

1.2 函数的定义

关键字function

function 函数名 ()  {  程序   }

1.3 参数

参与运算的变量。

为什么要设置参数?为了增强函数的功能性,和程序员的交互性,和函数的可拓展行。所以我们增加了参数这个概念。

1.3.1 形参

 

形式上参与运算的变量,无实际值,为实参占位置,就像一`个躯壳一样。(可以理解为函数的内部变量外部无法访问)

1.3.2 实参

实际参与运算的变量。形参为他占位置,真实参与运算的变量。

1.4 返回值

return函数就有值;没有return函数就没值;

函数程序运行后的结果外部需要使用的时候,我们不能直接给与,需要通过return返回。

总结:函数内部,return后面的值就是返回值;

作用:函数执行后剩下结果就是返回值。

函数执行完毕,会不会留下点儿什么,取决于有没有返回值

var  temp   =    函数名()   =  (功能)+ 该函数的返回值;

1.4.1 注意

1. 如果函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined

2. 如果函数使用 return语句,那么跟再return后面的值,就成了函数的返回值

3. 如果函数使用 return语句,但是return后面没有任何值,那么函数的返回值 也是:undefined

4. 函数使用return语句后,这个函数会在执行完 return 语句之后停止并立即退 出,也就是说return后面的所有其他代码都不会再执行。

1.5 案例

1、求圆的周长和面积

2、求2个数中的最大值,求3个数中的最大值

3、求一组数中的最大值和最小值

4、翻转数组,返回一个新数组

5、对数组排序,从小到大

6、求阶乘

7、求1!+2!+3!+....+n!

8、判断一个数是否是素数

1.6 函数名、函数体和函数加载问题(重点记忆)

1、函数名是什么

函数名 == 整个函数。

function fn(){alert(1)};

console.log(fn) == console.log(function fn(){alert(1)});

2、函数加载问题

JS加载的时候,只加载函数名,不加载函数体。所以如果想使用内部的成员变量,需要调用函数。

 

1.7 实验

1、求斐波那契数列Fibonacci中的第n个数是多少?      

1 1 2 3 5 8 13 21...

2、输入某年某月某日,判断这一天是这一年的第几天?(闰年)

(四年一闰,百年不闰,四百年在闰)

1.8 函数定义

1.8.1 函数声明(自定义声明)

  function f(a,b) {

        return a + b; }

  console.log(f(5,6));

1.8.2 函数表达式

    var myFun = function (a,b){

        return a + b;

    }

    console.log(myFun(6,7));

1.9 变量和作用域(隐式全局变量和变量声明提升)

1.9.1 变量和作用域(函数中的变量需要函数执行后才能使用)

一、全局变量(成员变量)

哪里都可以访问到的变量。

(进入script立即定义的变量和没有var的变量)

二、局部变量

函数内部的变量,只有函数内部可以访问到。

(函数内部用var定义的变量和形参)

1.9.2 隐式全局变量

隐式全局变量就是隐藏的全局变量不好被发现。

function  fn(){

var  a  =  b  =  c  =  1;   // bc就是隐式全局变量

}

注意:

function  fn(){

var  a  =  b  =  c  =  1;   // bc就是隐式全局变量(等号)

var  a = 1;  b = 2;  c = 3;     // bc就是隐式全局变量(分号)

var  a = 1 ,  b = 2 ,  c = 3;    // bc就不是隐式全局变量(逗号)

}

1.9.3 变量声明提升(出现原因:预解析)

函数中,定义变量在使用变量之后

值提升变量名,不提升变量值,容易出现undefined。计算后形成NaN

function fn(){

// var aaa;

console.log(aaa);

var aaa = 1;

}

//提前看一眼这个习惯叫什么呢?  预解析!
//变量声明提升:在预解析的时候,成员变量和函数,被提升到最高位置,方便其他程序访问。
//变量声明提升特点:成员变量只提升变量名,不提升变量值。但是,函数是所有内容全部提升。(function直接定义的)
//函数范围内照样会出现变量声明提升
//什么情况容易出现变量声明提升:使用变量在定义变量之前。

 

1.10 小知识

1.10.1 函数不调用不执行

1.10.2 函数名就等于(整个函数)

1.10.3 加载函数的时候,只加载函数名,不加载函数体

1.10.4 参数相当于局部变量

1.10.5 就近原则使用变量

1.10.6 两个平级的函数中的变量不会相互影响(可以使用同样的形参名)

 

 

第2章 函数高级

2.1 匿名函数(了解)

定义:匿名函数就是没有名字的函数。

作用:

1.不需要定义函数名的时候。(群众演员没必要起名,百万雄师下江南)

2.书写起来更简便。

匿名函数的调用有三种方法:

一、直接调用或自调用。(function(){alert(1)})()

二、事件绑定。

三、定时器。

2.2 函数是一种类型(了解)

2.3 函数作为参数(了解)

2.4 递归(理解)

递归:就是函数自己调用自己。(懂得)

必须有跳出条件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值