zoukankan      html  css  js  c++  java
  • 10.19JS日记

    1、函数   关键词(function)

    var是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成

    var可以在内存模块提前完成(js代码执行前),所以有变量提升这个功能

    console.log(b)   undefined

    console.log(a)    is not defined

    a=12;

    var b=13;

    因为a没有带var,所以不存在变量提升,浏览器会把它当成window的属性(window.a=12)

    function也是js的关键字,用于声明和定义函数的,声明和定义都在内存模块中同时完成,因此。函数

    也有变量提升这个功能

    2、函数的定义:函数是具有一定功能的代码块

    函数是通过function定义的,function后边是函数名(自己取)

    函数的语法结构:function(){}

    通过分析图可以发现,内存模块只存var的变量名,儿函数是存整个代码块

    函数的四种定义方式

    <1>声明式定义  function fn(){}

    <2>表达式定义var an=function(){}

     匿名函数

    <3>自调用  定义和调用同时完成

    <4>通过对象的形式  var a=new Function{}

    -函数调用  函数名()

    函数最大的优势,会形成一个独立的模块,可以按需使用,可以重复使用

    按需使用可以提升性能,重复使用,可以减少代码冗余

    -函数调用的过程

    函数执行时会形成一个自己的私有空间,最大的作用域是window,然后执行里面的代码块

    -作用域链

    函数内部的变量被使用时,首先会在自己的私有作用域下查找是否有这个变量,有就直接使用

    没有就会向他的上一级查找,父级有就使用父级,父级没有就会继续向上查找,直到window为止

    ,window有就使用window,没有就is not defined,这种查找机制叫做作用域链

    -函数归属谁,跟他在哪儿调用没有瓜子,而是在哪儿定义

    -函数递归,函数自己调用自己

    function fn(){

      console.log(5)

      fn()

    }

    fn()

    -break黑人continue运算

    break:终止当前运算

    continue:跳出当前运算,执行下一个

    return :返回的

    每个函数都有一个返回值,如果函数人为return,返回什么就是什么

    如果没有人为返回,结果就是undefined,并且return后面的代码不再执行了

    function fn(){

      console.log(12)

      return=45;

    }

    var as=fn() fn执行后将自己的返回值undefined给as

    console.log(as) undefined

    console.log(as) 45  fn执行后将自己的返回值45给as,且return下的代码不再执行

    函数内部的return不影响预解释

    -函数外的变量叫全局变量,函数内的变量叫做私有变量,看变量归谁,就看他在哪个作用域下声明

    -私有变量的种类

    <1>在私有作用域下声明的

    <2>通过函数传参的私有变量

    -函数传参 arguments

    function (a,b,c,d){}

    a,b,c,d:都是参数

    案例

  • 相关阅读:
    如何理解面向对象和面向过程
    IIS端口被占用
    SQL UNION操作符
    SQL(MSSQLSERVER)服务启动错误代码3414
    WCF学习之路(一)
    AJAX技术学习总结
    AJAX之XMLHttpRequest对象
    软考之汇编语言
    IP地址的分配
    数组偏移量
  • 原文地址:https://www.cnblogs.com/qinlinkun/p/9826819.html
Copyright © 2011-2022 走看看