`
maziheng
  • 浏览: 57748 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Js中的4中调用模式

阅读更多

参数this在面向对象编程时非常重要,它的值取决于调用的模式,在JavaScript中有四种调用模式:方法调用模式、函数调用模式、构造器调用模式、apply调用模式。

1、方法调用模式 The Method Invocation Pattern

var myObject = {
	value : 0,
	increment : function(inc) {
		this.value += typeof inc === 'number' ? inc : 1;
	}
};
myObject.increment();
alert(myObject.value); //1
myObject.increment(10);
alert(myObject.value);//11

 2、函数调用模式 The Function Invocation Pattern

// 当函数调用此模式时,this被绑定到全局变量。在helper方法中获取不到this.
myObject.double = function() {
	var that = this;
	var helper = function() {
		that.value = add(that.value, that.value);
	};
	helper();
}
myObject.double();
alert(myObject.value);

 3、构造器模式 The Contructor Invocation Pattern

// javaScript是一种基于原型继承的语言。对象可以直接从其他对象继承属性。
// 如果在一个函数面前带上new来调用,那么将创建一个隐藏连接到该函数的peototype的成员的新对象,同时this将会绑定到那个新对象上
// 创建一个名为Quo的的构造函数,它构造一个带有status属性的对象
var Quo = function(string) {
	this.status = string
}
// 给Quo的所有实例提供一个名为getStatus的公共方法
Quo.prototype.getStatus = function() {
	return this.status;
}

var v = new Quo('IVY');
alert(v.getStatus())

 

4、Apply调用模式 The Apply Invocation Pattern

// apply方法接收两个参数,第一个将被绑定给this的值,第二个就是一个参数数组
var array = [4, 5];
var sum = add.apply(null, array);
alert(sum);
var statusObject = {
	status : 'A-OK'
}
var status = Quo.prototype.getStatus.apply(statusObject);
alert(status)

  

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    JS 四种函数调用模式

    在 JS 中,有四种主要的函数调用模式,分别是:普通函数调用、方法调用、构造函数调用和apply/call调用。下面我们将详细探讨这些调用模式。 1. **普通函数调用**: 这是最常见的情况,函数作为一个独立的实体被执行...

    JavaScript中函数对象调用模式总结

    JavaScript中的函数对象调用模式是编程中至关重要的概念,它涉及到函数作为一等公民、作用域、闭包、原型链等多个核心知识点。这篇博客通过深入分析JavaScript中的函数调用模式,帮助开发者更好地理解和掌握这些概念...

    javascript调用delphi中的函数

    标题“javascript调用delphi中的函数”涉及到的技术领域是跨语言通信,具体是JavaScript与Delphi之间的交互。这种交互通常发生在Web应用程序与桌面应用程序的集成,或者在浏览器扩展和本地资源之间。以下是对这一...

    unity3d中js调用C#类,混合调用

    在C#中,如果你有一个类想要被JavaScript调用,通常需要将其放在一个公共命名空间中,并使用`[assembly: UnityEngine.Scripting.RequiredComponent]`或者`[assembly: UnityEngine.Scripting.Preserve]`注解来确保...

    android和js相互调用

    ### JavaScript调用Android 要使JavaScript能够调用Android方法,你需要实现`WebViewClient`并重写`shouldOverrideUrlLoading()`方法。在这个方法中,你可以识别特定的URL模式并执行相应的Android代码。比如,定义...

    dwr测试,java调用js

    DWR的主要目标是简化AJAX(Asynchronous JavaScript and XML)开发,使得开发者能够轻松地在浏览器中调用服务器上的Java方法,就像调用本地JavaScript函数一样。这个技术极大地提升了用户体验,因为数据可以在不刷新...

    MVC controller调用js源码

    当我们谈论"JSM controller调用js源码"时,JSM可能指的是JavaScript Manager,一个可能的库或工具,用于管理和组织Web应用中的JavaScript代码。在ASP.NET MVC项目中,Controller可以调用客户端的JavaScript函数来...

    JsInWinform(在winform中调用JS代码)

    4. **从JavaScript调用.NET**: - **设置`ObjectForScripting`**:为`WebBrowser`控件设置一个公共的.NET对象,这个对象的任何公共方法都可以在JavaScript中调用。 - **使用`window.external`**:在JavaScript中,...

    android中js与java间函数相互调用demo,支持中文传参,无乱码

    4. **JavaScript调用Java方法** 在JavaScript中,可以通过`window.androidBridge.getHelloFromJava('参数')`来调用上面定义的Java方法。注意,这里的`window`是`WebView`的全局对象,`androidBridge`是我们注册的...

    javascript调用exe文件,弹出系统软键盘

    但通过一些技术手段,我们可以实现JavaScript调用exe文件的功能,进而实现弹出系统软键盘的需求。下面将详细介绍这个过程。 首先,为了在JavaScript中调用exe文件,我们需要借助一些浏览器扩展API或者服务器端的...

    JavaScript设计模式.pdf

    JavaScript设计模式是指在软件开发中使用JavaScript语言编写的设计模式。这些设计模式旨在提高代码的重用性、可读性、维护性和扩展性。以下是JavaScript设计模式的知识点总结: 1. 单体模式(Singleton Pattern)...

    Javascript 严格模式详解

    4. **为未来版本做准备:** 严格模式的一些特性是为未来JavaScript版本的设计奠定基础,确保代码在新的标准下仍然有效。 #### 结论 JavaScript严格模式是对标准JavaScript的一个重要补充,它通过增加一系列的约束...

    Js调用webService示例

    JavaScript调用WebService是一种常见的前后端通信方式,尤其在Web应用程序中,它允许客户端与服务器进行异步数据交换,实现动态内容的更新。本示例旨在详细介绍如何使用JavaScript调用WebService,以及涉及的相关...

    JS调用Struts中的Action

    ### JS调用Struts中的...此外,随着现代Web开发技术的发展,诸如React、Vue等前端框架的普及,通过API接口进行前后端分离的设计模式也逐渐成为主流,但这并不影响JavaScript调用Struts Action这一知识点的学习和掌握。

    JavaScript设计模式+JavaScript模式+JavaScript异步编程

    在JavaScript中,常见的设计模式包括: - 单例模式:确保一个类只有一个实例,并提供全局访问点。 - 工厂模式:创建对象时避免使用new操作符,提供更灵活的实例化过程。 - 观察者模式:定义对象间的一种一对多...

    JavaScript函数的4种调用方法详解

    这里所有的调用模式中,最主要的区别在于关键字 this 的意义,下面分别介绍这个几种调用形式。 本文主要内容: 1.分析函数的四种调用形式2.弄清楚函数中this的意义3.明确构造函对象的过程4.学会使用上下文调用函数 ...

    jsp数字小键盘调用js模式

    总的来说,"jsp数字小键盘调用js模式"提供了一种在JSP页面中通过JavaScript实现可自定义的虚拟数字小键盘的方法,使得用户可以在不依赖系统默认键盘的情况下安全、便捷地输入数字。这种技术在移动设备或者对输入安全...

    js调用flash文件的视频

    根据提供的文件信息,本文将详细解析如何通过JavaScript(简称JS)来调用并优化Flash文件在网页中的展示方式。此方法特别适用于希望去除Flash播放器默认边框的应用场景。 ### JS调用Flash文件的关键技术点 #### 1....

    js 调用打印机 ,web打印机,设计开发

    - **打印事件**:如`window.print()`,是JavaScript中触发打印对话框的内置方法。 2. **打印方法**: - `window.print()`: 这是最常见的调用打印机的方法,会弹出系统的打印设置对话框,用户可以选择打印机和打印...

    初学者能够很快的学会各种java方法在javascript中是如何调用的。

    【标题】与【描述】提到的主题是关于初学者如何快速掌握在JavaScript中调用Java方法,通过使用DWR(Direct Web Remoting)这一开源项目。DWR使得AJAX(Asynchronous JavaScript and XML)的应用变得简单易行,从而...

Global site tag (gtag.js) - Google Analytics