函数的四种调用模式
2017-03-25 00:59
337 查看
1.函数模式
函数的定义方式
声明式
表达式
Function
单独独立调用的就是函数模式
函数名( 参数 )
this 表示全局对象
任何自调用函数都是函数模式
2.方法模式
区分
方法本身就是函数, 但是方法不是单独独立的调用, 而是通过一个对象引导调用.
this 表示引导方法的对象
比如:
3.构造器模式
区分
使用 new 关键字引导
执行步骤
function Person ( name, age, gender ) {
this.name = name;
this.age = age;
this.gender = gender;
}
“`
函数的定义方式
声明式
表达式
Function
单独独立调用的就是函数模式
函数名( 参数 )
this 表示全局对象
任何自调用函数都是函数模式
2.方法模式
区分
方法本身就是函数, 但是方法不是单独独立的调用, 而是通过一个对象引导调用.
this 表示引导方法的对象
比如:
var length = 10; function fn() { console.log( this.length ); } var obj = { length: 5, method: function ( fn ) { fn(); //函数模式 arguments[ 0 ](); //方法模式 === method.fn() } }; obj.method( fn, 1 ); //方法模式
3.构造器模式
区分
使用 new 关键字引导
执行步骤
var p = new Person(); new 是一个运算符, 专门用来申请创建对象, 创建出来的对象传递给构造函数的 this 利用构造函数对其初始化 function Person () { this.name = 'jim', this.age = 19; this.gender = 'male'; } - ``` - 返回值 - 如果不写 return 语句, 那么 构造函数 默认返回 this - 如果在构造函数中写上 return 语句, 并紧跟基本类型( return num, return 1223 ). 则忽略返回类型. - 如果在构造函数中写上 return 语句, 并且紧跟引用类型, 那么构造函数返回该引用类型数据, 而忽略 this - 如果调用构造函数的时候, 构造函数没有参数, 圆括号是可以省略的 - -自己感觉不推荐,毕竟代码的规范性 - var p = new Person; **4.上下文模式** - 语法(区分) - call 形式 === 函数名.call( ... ) - apply 形式 === 函数名.apply( ... ) - 使用 apply 进行调用, 如果函数是带有参数的. apply 的第一个参数要么是 null 要么是对象 - **如果是 null 就是函数调用, 如果是 对象就是 方法对象, 该对象就是宿主对象, 后面紧跟一个数组参数, 将函数的参数依次放在数组中.** - call 的不同在于,传入参数的不同,call是不需要数组进行传参
function Person ( name, age, gender ) {
this.name = name;
this.age = age;
this.gender = gender;
}
function Student ( name, age, gender, course ) { Person.call( this, name, age, gender ); // 把person构造函数的方法属性,给this使用,即Student this.course = course; } var p = new Student ( 'jim', 19, 'male', '前端' );
“`
相关文章推荐
- js 四种函数调用模式
- 函数四种调用模式以及this指向
- JS 四种函数调用模式
- JS函数四种调用模式
- javascript的四种函数调用模式以及相应的this绑定
- 函数四种调用模式以及其中的this指向
- 函数的四种调用模式(this的指向)
- 学习笔记-函数的四种调用模式
- javascript四种调用方式——方法调用模式、函数调用模式、构造器调用模式和Apply或Call调用模式
- 深入理解JavaScript系列(一): 函数的四种调用模式
- Javascript 函数的四种调用模式
- javascript中四种函数调用模式及对this的不同绑定
- 函数的四种调用模式
- javascript this 关键字以及四种函数调用模式
- JavaScript中函数的四种调用模式
- 函数调用的四种模式以及this的指向浅析
- 函数的四种调用模式
- 四种调用模式之函数调用模式
- 函数的四种调用模式
- JavaScript 函数四种调用模式