循环结构以及函数对象

  • 、for循环

    for循环与while循环等效

语法:

for(1.初始化循环变量;2.循环条件;3.迭代修改循环变量){

4.循环体;

}

1->2->4->3->2->4->3

while(循环条件){

迭代修改循环变量;

循环体;

}

案例一

案例二

注意:如果要输入迭代次数时注意for语句的流程

for(1.初始化循环变量;2.循环条件;3.迭代修改循环变量){

 4.循环体;

 }

  1. >2->4->3->2->4->3

                  即在进行判定前已经进行叠加1次,所以需要输出迭代次数时需要-1

案例三

  • 、function定义

     函数:程序中封装一项专门任务的步骤清单代码段

语法:

function 函数名([参数变量列表]){

   任务步骤代码段;

   [return 返回值;]

}

函数名(任务名):指向函数定义的一个变量,保存的是*函数对象的引用*

声明的时候:不执行,同时也不读取内部代码

在程序的任意位置:函数名([参数值列表]);

函数调用时:才开始读取内部代码,并执行

案例一

  • 、变量的作用域

     一)、 变量作用域:一个变量的可用范围

       2种:

  1. 全局作用域 - window

全局变量 - 放在全局作用域里的变量

可在程序的任意位置进行访问并修改

  2. 局部作用域:在函数调用的时候才会动态创建的作用域

    局部变量:2种

   1. 参数变量

   2. 在函数中var出来的变量

   ***仅在函数调用时,动态创建

并且使用变量的规则是:如果局部有,就不用全局的

***调用后,局部变量会伴随着局部作用域一同销毁!

案例一

  二)、声明提前:正式开始执行程序之前,都会先将var声明的变量,和function声明的函数,提前到当前作用域的顶部集中声明,同时赋值留在本地

注意:函数的声明比变量的声明更置顶

function rose(){}     // 声明方式声明函数

var fun=function(){}  // 直接量方式声明函数

function fun(){

console.log(1);

}

fun();  // 1 函数rose中输出的1

function fun(){

console.log(2);

}

fun();  // 2  函数fun 中输出的2

var fun=100;  // fun还是函数吗? fun没有()故为全全局变量

fun();  // 注意:变量名()  是函数调用的专用语法,但是此时的fun还是函数吗?

// 此时的fun不再是函数的引用了!就不能使用()调用,会报错!

// fun is not a function

  • 、作业解释

作业1:年利率为3%,本金10000,问几年后本金超过12000;

       

作业2(选做): 输入任意年份,输出从该年起,之后的5个闰年

作业3:把上述代码的推理过程,以注释的形式写出来

 

注意最后一点;在函数中未定义(var)变量的新值,所以在调用的函数后,改变了全局函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值