函数简单介绍

函数
  引用数据类型
  1)函数的作用
    特定功能代码的封装
    用来创建对象(构造函数=>Object,Array)
  2)函数的定义
    函数声明(函数的声明会提升)
      关键字  函数名(形式参数){
          函数体
          返回值
      }
      function add(a,b){     //【具名函数】
          console.log(a+b)
          return a+b
      }


    函数表达式
      var add = function(){函数体;返回值}     //【匿名函数】
      var a = 1
      var o = {}


  3)函数的调用
    函数名(实际参数)
      window.add()
      global.add()
    函数名.call(obj,参数列表)
      obj => this
      call => 可以接受无数个参数


    函数名.apply(obj,[参数数组])
      obj => this
      apply => 只能接受两个参数


  4)函数的作用域
    在函数内部定义的变量,在函数外部访问不到
    在函数外部定义的变量,在函数内部可以访问,这个变量和这个函数就组成了闭包
    在函数内部不存在局部作用域
      function test(){
          if(true){
              var a = 1
          }
          console.log(a)   //a = 1
      }

      function test(){
          function inner(){
              if(true){
              var a = 1
              }
          }
          inner()
          console.log(a)   //a = 1
      }
    如何在函数中定义一个局部变量
      let
      立即执行函数
        (function(){
            console.log(999)
        })()


  5)函数在内存中的表现形式
  6)函数内部属性
    形式参数只是接受参数的快捷方式,实际的参数保存在arguments中
    参数
      function add(a,b){
        console.log(a,b)
      }
      add(1,2,3,4)
    arguments
      类数组对象,参数实际保存的地方
        [1,2,3,4,5]
        {0:1,1:2,2:'tom'}


      this
        this的取值和调用它的对象有关,哪个对象调用它,namethis就指向那个对象
        观察函数名前面有没有对象,如果有对象,那么this指向该对象
        如果.前面没有对象,this指向全局对象(global,window)
        指定this
          函数名.call(obj,)
          函数名.apply(obj,)


  7)函数作为值,函数作为参数,函数作为返回值
    var a = 值
    函数作为值
      var a = 3
      var add = function(){}
      var add1 = add
    函数作为参数(回调函数)
      test(1,2,function(){})
      arr.forEach(function(){})


    函数作为返回值
      function add(){
          return function add1(){

          }
      }
      var a add ()
      console.log(a)  => 函数
  8)值传递和引用传递
    var a = 2
    var b = a
    b = 10
    var add = function(){}
    var add1 = add
    
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值