什么是函数?

  • 具有特定功能的n条语句的封装体
  • 只有函数是可执行的, 其它类型的数据是不可执行的
  • 函数也是对象

为什么要用函数?

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

如何定义函数?

  • 函数声明
  • 表达式

如何调用(执行)函数?

  • test()
  • new test()
  • obj.test()
  • test.call/apply(obj)

    1. function f1 () { // 函数声明
    2. console.log('f1()')
    3. }
    4. var f2 = function () { // 表达式
    5. console.log('f2()')
    6. }
    7. /*
    8. 编写程序实现以下功能需求:
    9. 1. 根据年龄输出对应的信息
    10. 2. 如果小于18, 输出: 未成年, 再等等!
    11. 3. 如果大于60, 输出: 算了吧!
    12. 4. 其它, 输出: 刚好!
    13. */
    14. function showInfo (age) {
    15. if(age<18) {
    16. console.log('未成年, 再等等!')
    17. } else if(age>60) {
    18. console.log('算了吧!')
    19. } else {
    20. console.log('刚好!')
    21. }
    22. }
    23. //调用
    24. showInfo(17)
    25. showInfo(22)
    26. /*
    27. 函数也是对象
    28. */
    29. function fn() {
    30. }
    31. console.log(fn instanceof Object) // 是Object类型的实例
    32. console.log(fn.prototype) // 内部有属性
    33. console.log(fn.call) // 内部有方法
    34. fn.t1 = 'atguigu' // 可以添加属性
    35. fn.t2 = function () { // 可以添加方法
    36. console.log('t2() '+this.t1)
    37. }
    38. fn.t2()