JS 函数

作者: april_Dong | 来源:发表于2016-08-15 07:59 被阅读0次

函数有三种定义方式

  • 函数声明
 function add1(){
    console.log("函数声明");
 }
  • 函数表达式
 var add2()=function(){
    console.log("函数表达式");
 }
  • 函数实例化
var add3 = new Function("i",
  "console.log("函数实例化")
);
区别:
  1. 函数声明定义特点:
    函数定义会被前置;
    重复定义函数时,最后一次定义有效。
  2. 函数实例化定义特点:
    不遵循作用域逐级向上回溯原则;
    定义的函数只能访问本地作用域和全局作用域。

函数调用

  1. 函数调用模式
  -  this指向全局对象
  1. 方法调用模式
  -  this指向调用者
  1. 构造函数调用模式 new Function(...);
  -  this指向被构造的对象
  1. apple(call)调用模式
  -  this指向第一个参数

函数参数传递

屏幕快照 2016-08-15 下午2.49.33.png

原始类型参数的传递模式:按值传递


屏幕快照 2016-08-15 下午2.49.23.png

对象类型参数的传递模式:按共享传递

屏幕快照 2016-08-15 下午2.47.09.png

闭包

什么是闭包:函数内部定义的字函数引用到父函数的变量形成的变量。
功能:
1.保存函数执行状态
2.封装
3.性能优化

Function.prototype.bind

相关文章

网友评论

      本文标题:JS 函数

      本文链接:https://www.haomeiwen.com/subject/loiysttx.html