• js(3)


    复习
    var是js 的关键字用于声明变量,声明在内存模块完成的,定义(=)是在执行模块完成。
    var可以在内存模块提前完成(js代码执行前)完成,所以有变量提升这个功能
    console.log(b)........>undefined
    console.log(a)..........>a is not defined
    a=12
    var b=11
    因为a没有带var,所以不存在变量提升,浏览器会把他当成window的属性。
    function也是js的关键字,用于声明和定义函数的,声明和定义都在内存模块完成了。
    function也是在内存模块提前完成,所以有函数提升这个功能。
    变量提升和函数提升,都叫预解释。都是浏览器的
    1.函数 关键字 function
    2.函数的定义:函数具有一定功能的代码块
    函数是通过function定义的, function 后跟的是函数名
    结构语法
    function fn(){}
    内存模块只存var的变量名。而存function整个代码块,因为声明和定义同时完成
    fn 函数名 名字可有可无,有的是有名函数,有的是匿名函数()(小括号必须有,里面)
    函数结构的注意
    函数定义:通过function 定义 function(){}
    函数定义的四中方式
    1.声明是定义 function(){}
    2.表达式式定义 var fn=function(){} 匿名函数
    3.自调用
    定义和调用同时完成
    ~function(){
    console.log(111)
    }()
    +function(){
    console.log(112)
    }()
    -function(){
    console.log(113)
    }()
    !function(){
    console.log(114)
    }()
    4.通过 对象的形式 var
    函数调用 函数名() fn()
    函数最大的优势 会形成一个独立的模块,可以按需使用,可以重复使用
    按需使用 可以提升性能 重复使用 可以减少代码冗余
    函数调用的过程
    函数执行时会形成一个自己的私有作用域 最大的作用域是window(全局作用域)
    然后执行函数里面的代码块
    作用域链:函数内部的变量被使用,首先会在自己的私有作用域下查找是否是个变量,有直接使用,没有就会想他的上一级查找,父级就使用父级的,父级没有就会以此继续向上查找直到window,window
    函数归属谁,跟她在哪调用没有关系,而是在哪定义有关
    函数递归:函数内部自己调用自己
    break和continue运算
    break终止当前程序
    continue 跳出当前的程序,执行下一个。
    break和continue只能用在循环语句中,如果条件语句小能够使用break只能使用return

  • 相关阅读:
    FJNUOJ Yehan’s hole(容斥求路径数 + 逆元)题解
    FJNUOJ the greed of Yehan(最长路 + 权值乘积转化)题解
    BZOJ 2956 模积和
    BZOJ 2299 向量
    codeforces 718c Sasha and Array
    BZOJ 3747 Kinoman
    BZOJ 2431 逆序对数列
    BZOJ 3289 Mato的文件管理
    BZOJ 3781 小B的询问
    BZOJ 2038 小Z的袜子(hose)
  • 原文地址:https://www.cnblogs.com/zlxl/p/9816059.html
Copyright © 2020-2023  润新知