jaksgfdshkv

函数高级应用

1.函数的定义方式

(1)、函数声明

function fn(){

console.log('this is a function')

}

(2)、函数表达式

var fn = function(){

console.log('赋值表达式函数')

}

(3)、内置构造函数的形式

var fn3 = new Function("num1", "num2", "return num1+num2");

  console.log(fn3(2, 3));

1.函数的定义方式

(1)、函数声明

function fn(){

console.log('this is a function')

}

(2)、函数表达式

var fn = function(){

console.log('赋值表达式函数')

}

(3)、内置构造函数的形式

var fn3 = new Function("num1", "num2", "return num1+num2");

  console.log(fn3(2, 3));

推荐使用第二种形式,第三种用的相对较少,但也是必须掌握的内容。

演示示例:函数的定义方式

2.函数的调用方法

(1)、函数名()

var fn1 = function () {

    console.log("函数名()");

  }

  window.fn1();

  fn1();

  1. 、自调用

var fn2 = (function () {

    console.log("自调用");

  })();

  1. 、call()调用

fn1.call();

  1. 、对象中的函数调用

var obj1 = {

    name: "小刚",

    say: function () {

      console.log(this.name + "喜欢吃辣条!")

    }

  }

  obj1.say();

  1. 、数组中函数调用

var arr = [

    100,

    "哈哈",

    function () {

      console.log(this);

      console.log(this[1] + "我是数组中的元素,也是函数");

    },

    function () {

      console.log("66666");

    },

    true

  ];

  console.log(arr[2]);

  arr[2]();//

  arr[3]();

  1. 、函数作为参数的调用

function fn3(x) {

    x();

  }

  fn3(function () { console.log("我是函数也是参数"); });

(7)、函数作为返回值的调用

function fn4() {

    return function () { console.log("我是函数也是返回值!") }

  }

  fn4()();

闭包

  1. 、定义

闭包就是能够读取其他函数内部变量的函数,由于在 Javascript 语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成 “定义在一个函数内部的函数”。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

闭包的用途:

可以在函数外部读取函数内部成员

让函数内成员始终存活在内存中

posted on 2021-12-12 17:52  jaksgfdshkv  阅读(33)  评论(0编辑  收藏  举报

导航