zoukankan      html  css  js  c++  java
  • js流程控制与函数

    流程控制

    1.条件语句 分支结构

    单向分支
    if (条件表达式){
        code...
    }
    
    双向分支
    if (条件表达式){
        code...
    }else{
        code...
    }
    
    多向分支
    if (条件表达式){
        code...
    }else if(条件表达式){
        code...
    }else{
        code...
    }
    
    switch (条件表达式){
        case 条件表达式可能的结果:code... break;
        case 条件表达式可能的结果:code... break;
        case 条件表达式可能的结果:code... break;
        default code...
    }
    
    嵌套分支
    if (条件表达式){
        if (条件表达式){
            code...
        }
    }else {
        if (条件表达式){
            code...
        }
    }
    

    2.循环语句

    while循环
    while (){
        //循环体
    }
    
    do...while循环
    do{
        //循环体
    } while(循环条件)
    
    for循环
    for (变量定义;循环条件;变量变化){
        //循环体
    }
    

    3.其他语句

    跳转语句
    continue;  跳出当前循环 继续下一次
    break;     结束循环
    return:    结束函数
    
    异常
    try{
        code...
    }catch(err){
        
    }finally{
        
    }
    

    catch相当于python中的except

    严格模式
    //写在所有代码的最前面
    //开启严格模式方法
    'use strict'
    
    • 严格模式下 声明不加var会报错
    • eval() 在严格模式不能用

    4.注意

    • 当分支语句和循环语句的结构体{}内只有一行代码的时候,可以省略{}

    函数

    1.定义函数

    //function 关键字方式
    function 函数名(参数1,参数2){
        code...
    }
    
    //表达式方式
    var 函数名 = function(参数1,参数2){
        code...
    }
    

    2.函数特点

    • 函数名就是变量名
    • 函数调用必须加()
    • 关键字方式定义的函数,会存在函数提升(可以在函数定义前调用,而表达式方式只能在定义后调用)

    3.函数的参数问题

    形参和实参
    • 实参数量>形参数量 多给的实参会被忽略
    • 实参数量<形参数量 多出的形参,会使用默认值undefined
    参数的默认值
    //ES6 新增的语法
    function demo(a,b=默认值){
        code...
    }
    //有默认值的参数一定在后面
    
    可变数量的参数
    arguments对象 可以获取所有的实参
    只能在函数中使用
    arguments是类数组对象,用法同数组,可以使用for遍历循环
    例:
    function sum(){
        for (var i=0;i<arguments.length;i++){
            s += arguments[i]
        }
        return s;
    }
    

    4.return

    • return 可以结束函数
    • return返回值
    • js return 只能返回一个值

    2.5 回调函数(高阶函数)

    • 函数的参数 还是 函数
    list.sort()按字符串排序
    list.sort(function(v1,v2){
        return v1-v2
    })
    return值大于0时,v1与v2换位置
    return值小于0时,v1与v2不换位置
    

    2.6 自调函数

    (function(){
        
    })();
    
    (function 函数名(){
        
    })()
    
    //如果多个自调函数连续写, 中间必须加 ; 否则报错
    //产生局部作用域
    //有效避免全局变量污染
    

    2.7 递归

    与python相同

  • 相关阅读:
    js获取input file完整路径的方法
    form提交表单上传图片
    基于HTML5的可预览多图片Ajax上传
    ie11兼容
    上传时获取文件的完整路径图片预览的js代码(兼容Firfox和IE)
    学习笔记
    ie浏览器兼容性(ie9,ie10)
    大学最后悔的事
    easyui 分页
    jQuery学习
  • 原文地址:https://www.cnblogs.com/luck-L/p/9449625.html
Copyright © 2011-2022 走看看