JavaScript进阶篇(四)——函数

1.什么是函数

  • 实现某种功能的n条语句的封装体
  • 只有函数是可以执行的,其他类型的数据不行

2.为什么要使用函数

  • 提高代码复用率
  • 便于阅读交流

3.如何定义函数

  • 函数声明
  • 表达式
	// 函数声明
  function fu1(){
    
    
  	console.log('hello')
  	}
  	// 表达式
  var fu2= function(){
    
    
  console.log('hello')
  	}

4.如何调用函数

  • test() 直接调用
  • obj.test() 通过对象调用
  • new test() new调用
  • test.call/apply(obj):临时让test成为obj的方法进行调用

5.回调函数

什么是回调函数?
  • 自己定义的函数
  • 自己没有调用
  • 最终却执行了
常见的回调函数
  • dom事件回调函数
  • 定时器回调函数
  • ajax请求回调函数
  • 生命周期回调函数
	// 定时器回调函数
 setTimeout(function () {
    
    
        alert('hello')
      }, 2000)

6.匿名函数

匿名函数自调用

(function () {
    
    
        console.log('这是一个匿名函数')
      })()

作用

  • 隐藏实现
  • 不会影响全局命名空间
  • 用它来编写js模块
 (function () {
    
    
        let a = 1
        function test () {
    
    
          console.warn(++a)
        }
        window.$ = function () {
    
       // 向外暴露一个全局函数
          return {
    
    
            test: test   
          }
        }
      })()
      // 1.$是一个函数
	  // 2.$执行后返回的是一个对象
      $().test()   // 调用test函数

7.this

解析器在调用函数每次都会向函数内部传递一个隐藏的参数
这个隐含的参数就是this,this指向的是一个对象
这个对象我们称为函数执行的上下文对象
根据函数的调用方式不同,this指向的对象也不同

  • 以函数的形式调用,this永远都是window
  • 以方法的形式调用,this就是调用方法的那个对象

猜你喜欢

转载自blog.csdn.net/weixin_42164004/article/details/109099260