Javascript函数4种调用模式
来源:互联网 发布:python特性 编辑:程序博客网 时间:2024/05/17 22:41
// 函数
//编程,就是将需求分解变成一组函数与数据结构的技能
//javascript是一门基于原型继承的语言;
//javascript 是一门函数式的面向对象编程语言,所有函数开源拥有方法
// 函数对象
/*
1.对象字面量产生的对象连接到Object.prototype
2.函数对象连接到Function.prototype
3.每个函数创建时都会两个隐藏属性:函数的上下文和实现函数行为的代码
4.函数对象在创建时会配有一个prototype属性,它的值是一个拥有constructor属性且值为该函数的对象
*/
// 函数字面量
var add = function(a,b){ //匿名函数
return a+b;
}
// 调用/*4种调用模式: 方法模式调用、函数调用模式、构造器调用模式、apply调用模式 (这些模式在如何初始化关键参数this上存在差异) *///1.方法调用模式:var myproject = { value:0, increamt:function(ico){ if(ico === 'number') this.value += 1; else this.value += ico; } //this从对象中取值或修改,this可取得所属对象的上下文的方法 //称为公共方法}myproject.increamt(3);console.log(myproject.value);//2.函数调用模式: //函数不是对象的属性时,就被当作一个函数来调用,以此模式调用函数时,this被绑定到全局对象 //解决方法:that myproject.double = function(){ var that = this; //解决了全局对象的问题 var helper = function(){ that.value = add(that.value,that.value); }; helper();//函数形式调用helper }; myproject.double(); document.write(myproject.value);//6//3.构造器调用模式(不推荐): //如果函数前面带上 new 来调用,那么会创建一个连接到该函数的prototype成员新对象,同时this会被绑定到那个新对象上。 var Quo = function (string){ this.status = string; } Quo.prototype.get_status = function (){ return this.status; } //构造一个 Quo事例 var myQuo = new Quo('confused'); console.log(myQuo.get_status());//4.apply调用模式 //apply方法让我们构建一个参数数组传递给调用函数,允许我们选择this的值,apply(要绑定给this的值,一个参数数组);//构造一个包含两个数字的数组,并将它们相加var array = [3,5];var sum = add.apply(null,array);//sum=8//构造一个包含 status 成员对象var statusObject = { status:'a-ok'};//statusObject并没有继承自Quo.prototype,但我们可以在statusObject上调用get_status 方法var status = Quo.prototype.get_status.apply(statusObject);//a-ok
“`
0 0
- Javascript函数4种调用模式
- Javascript函数调用的四种模式
- javascript的四种函数调用模式
- JavaScript函数的四种调用模式
- Javascript的四种(函数)调用模式
- JavaScript 函数四种调用模式
- JavaScript中的函数调用模式
- javascript this 关键字以及四种函数调用模式
- JavaScript中函数的四种调用模式
- JavaScript函数调用的四种模式之this
- javascript 方法调用模式有4种
- Javascript里的函数调用模式
- javascript四种调用方式——方法调用模式、函数调用模式、构造器调用模式和Apply或Call调用模式
- js中的4种函数调用模式:函数调用、方法调用、构造器调用、间接调用
- 函数调用模式4种方式详解
- 函数四种调用模式
- JavaScript 函数、函数调用
- JavaScript函数的两种主要调用模式以及原型方法等
- c语言、c++、大数据处理
- 正则表达式测试器
- 考试制度对我们很重要
- TelephonyManager解析
- js版格式化输出时间
- Javascript函数4种调用模式
- Eclipse使用快捷键
- Unity_UGUI知识点思维导图1.0
- iOS开发技巧--利用Xcode提供的模板创建项目
- 暑假书单出炉
- 适配者模式-c++实现
- 扑克牌顺子
- 程序员==学习笔记==java基础==day06==面向对象
- spring和mybatis整合