分支结构 条件语句

单向分支

if (){}当只有一行代码是可省略花括号,但是代码可读性会变差。

双向分支

if () {} else {}

嵌套分支

if (){if (){}
} else {
}

多项分支 if else if

if (){} else if (){} else if (){} else {}

多项分支 switch case

switch (表达式) {case 值: 表达式; break;         case 值: 表达式; break;     case 值: 表达式; break;     case 值: 表达式; break;
}

循环结构

while 语句

while (表达式) {循环体
}

do while 语句

do {循环体
} while (表达式);

for 语句

for (定义循环变量; 条件判断; 循环变量变化) {循环体
}

跳转语句

  • continue 结束当前循环
  • break 结束整个循环
  • return 结束函数

其他语句

  • debugger;
  • with
  • use strict 严格模式

函数

函数的优势

  • 提高代码重用性
  • 代码可读性
  • 程序的可维护性
  • 提高软件的开发效率
  • 控制程序设计的复杂性

函数的组成

  • 函数名
  • 函数体
  • 参数 (形参 和 实参)
  • 返回值 (结束函数, 作为函数调用表达式整体的值)

函数的声明方式

  • 关键字方式

      function 函数名([参数列表]) {函数体}
  • 表达式方式(匿名函数方式)

      var 函数名 = function([参数列表]) {函数体}番薯赋值给变量,只加载变量 而函数function没有被预解析
  • 构造函数方式

      var 函数名 = new Function("参数", "函书体)

函的参数问题

  • 形参和实参的数量

    形参数量实参数量 没有赋值的形参会自动赋值undefined

  • 参数的默认值
    • ECMA6语法(不兼容IE) function 函数名(参数1, 参数2=默认值)
    • 有默认值的参数要写在后面
    • 有默认值的参数称之为可选参数
    • 兼容处理参数默认值问题, 在函数体判断 参数值是否是undefined
  • 可变参数数量的函数
    • arguments

函数的作用域

  • 全局变量 在函数外面定义的变量
  • 局部变量 在函数里面定义的变量
  • 在函数内,不使用var声明的变量是全局变量(不推荐使用,严格模式不允许)

       var a = 1;function fn1(){alert(a);   //1     a = 2;      //全局变量}fn1();alert(a);      //2             var a = 1;function fn1(a){  //新声明了一个变量a,alert(a);       //undefined             a = 2;        //给新声明的变量a赋值}fn1();alert(a);      //1     

递归函数

        //实现 阶乘 m的阶乘
function cheng(m){if(m<=1){return 1;}return m*(cheng(m-1));
}
console.log(cheng(3));
/*cheng(3)  return 3*cheng(2)cheng(2) return 2* cheng(1)cheng(1) return 1cheng(2)  return 2*1cheng(3) return 3*2*/

转载于:https://www.cnblogs.com/pangwl/p/7400770.html

三大控制结构 js函数定义相关推荐

  1. js 函数定义的方式

    js 函数定义的方式 一.总结 一句话总结: 最常见就下面三种 最常见:function func1([参数]){/*函数体*/} 将匿名函数赋值给变量:var func2=function([参数] ...

  2. js 函数定义三种方式

    <p>Js 函数定义的三种方式:</p> <br> <p>方式一:function</p> <script type="te ...

  3. node.js 函数定义和调用

    ·函数定义: var a=2; function add(i){if(i>0){return 1;}else{return 2;} } add(a); console.log(add(a)); ...

  4. js 中定义的 全局变量,局部变量

    关于变量和参数问题: var a = 2; //全局变量function func() {var a = 1; //局部变量a = 2; //全局变量} 函数外面定义的变量是全局变量,函数内可以直接使 ...

  5. 浅谈js函数三种定义方式 四种调用方式 调用顺序

    在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Li ...

  6. 前端:JS/22/函数(函数的概念,函数的定义格式,函数定义格式的说明,函数的调用,函数的参数),全局变量和局部变量,拷贝传值和引用传址,匿名函数,二维数组,对象,自定义对象的创建

    函数 1,函数的概念 函数,是将一段公共的代码进行封装,给它起个名字叫"函数" 函数可以一次定义,多次调用:函数可以将常用的功能代码,进行封装,如:用户名的验证,验证码函数,邮箱验 ...

  7. js function定义函数的4种方法

    js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){}  或  var func=funct ...

  8. JS中的函数定义方式及全局函数

    一.定义方式 方式一用 function定义 定义匿名函数,匿名函数可以被当作参数传递,不需要加入括号 通过内置的function的对象创建函数 <!DOCTYPE html> <h ...

  9. js中的对象、函数定义以及形参和实参

    一.对象属性的两种写法 1.点语法 点语法的属性值不加双引号,运用时不能使用变量 2.中括号的写法 (1)中括号写法obj["key"]=value;必须有双引号,原因是在key这 ...

  10. js函数的定义及同名函数覆盖问题

    js函数的定义 用函数声明语法定义 用函数表达式定义 使用Function的构造函数 当分别用前两种方式定义同一个函数时 用函数声明语法定义 function add(num1,num2){var s ...

最新文章

  1. android --相机使用详解概述
  2. .NET设计模式(4):建造者模式(Builder Pattern)(转)
  3. 10.24T3 解方程 取模意义下运算+秦九韶算法
  4. lucene索引的删除和更新
  5. 在php中构造函数的作用,php构造函数的作用
  6. 计算机句法分析的研究现状,计算机理论论文融合语义和句型信息的中文句法分析方法研究与实现...
  7. python爬虫小案例
  8. Qt:Exception at 0xeefde9, code:0x0000005: read access violation at: 0x0, flags = 0x0(first chance)
  9. 陶哲轩实分析 3.1节 习题试解
  10. i7 8700 服务器系统,i7 8700k 云服务器
  11. 【DP】HDU6357 Hills And Valleys
  12. 【面试】--【集合容器】
  13. 嵌入式设备的启动过程
  14. 【C语言】判断输入是否能被5整除
  15. excel教程中daverage函数应用实例(一):统计部门平均工资
  16. qboimathtest1 t2 配对
  17. oracle 11g asm升级,Oracle 11g R1中ASM增强
  18. 【人工智能】八数码问题:广度搜索、深度搜索
  19. 你是如何变的自律的?
  20. 黑胶唱片的“另类”用途

热门文章

  1. c语言实验报告总结通用版,C语言实训心得体会
  2. 室内常用光带;平面,穹顶,球体,网格;常模拟吸顶灯、灯——daiding
  3. 什么是黑链?什么是黑帽?什么是明链?
  4. 人工智能终将自我进化?排除无用功能,让自己更加完美?
  5. 武汉大学计算机学院期末考试安排,【通知】关于2019-2020学年第一学期期末考试工作安排的通知...
  6. 饥荒联机版服务器搭建_饥荒联机版steam专用服务器快速搭建教程
  7. MSP、CSP、BSP区别
  8. 计算机图形化编程命令,第三课图形化编程教学设计
  9. win7 uefi 无法对计算机,uefi安装_uefi安装win7解决方法
  10. 计算机图形学【GAMES-101】12、相机(视场、曝光、光圈(F-Stop)、薄棱镜近似、CoC、景深)