var Person1= {
name:"tom",
say:function(){
alert("my name is "+this.name);
}
}
var Person2= {
name:"cat",
say:function(){
alert("我是 "+this.name);
}
}
Person1.say();//my name is tom
Person1.say.call(Person2);//my name is cat
var empty ={};
Person1.say.call(empty);//my name is undefined
/*call说明:对象1.方法A.call(对象2)的作用是,让对象2替代本身对象1,如果对象1涉及的属性对象2不存在,则视为undeifend*/
<input type="text" id="myText" value="将文本框作为对象">
<script>
function Obj(){this.value="Obj变量";}
var value="windows 全局 变量";
var Fun1={
//全局的this为window
value:"内部方法全局变量",
test:function(msg){
alert(msg+":"+this.value);
}
}
Fun1.test("全局变量"); //内部方法全局变量
Fun1.test.call(window,"将window作为对象"); //windows 全局 变量
Fun1.test.call(document.getElementById('myText'),"将文本框作为对象"); //input text
Fun1.test.call(new Obj(),"将方法作为对象"); //Obj变量
</script>
分享到:
相关推荐
在JavaScript中,`call` 和 `apply` 是两种非常重要的函数调用方式,它们都用于改变函数执行时的上下文,即`this`的指向。本文将深入探讨这两种方法的用法及其在实际编程中的应用。 ### 1. `call` 的基本用法 `...
在JavaScript中,`call`和`apply`是两个非常重要的函数,它们都允许开发者改变函数执行时的上下文,即`this`的指向。这两个方法主要用于实现函数的绑定和继承,以及处理数组或类数组对象。 首先,我们来看`call`的...
### JavaScript 的继承方法小结(Prototype、Call、Apply) #### 一、JavaScript 原型继承 -- Prototype 在 JavaScript 中,“一切皆对象”。通过 `new` 关键字创建的对象是函数对象,而直接赋值的对象则是一般...
### COM组件学习小结 #### 一、COM组件与MATLAB和VC++混合编程 COM(Component Object Model),即组件对象模型,是一种用于构建应用程序组件的技术。它允许不同语言编写的程序之间进行通信,实现跨语言、跨平台的...
老是忘掉这两个东东的用下,写下来做个记录吧。 他们作用是一模一样的,只是传入...call传入的参数不固定,和apply相同的是,第一个参数也是代表函数体内的this指向,第二个参数开始往后,每个参数被依次传入函数: v
本文将基于提供的标题“C调用dll小结”进行深入探讨,主要涉及如何在C语言中调用DLL中的函数。 首先,我们需要了解DLL的工作原理。DLL文件包含一组可执行的函数和数据,它们可以在运行时被多个进程加载。当一个程序...
本文主要讨论了三种常见的继承方式:`prototype`、`call` 和 `apply`。 ### 1. Prototype 原型继承 在JavaScript中,每个函数都有一个`prototype`属性,这个属性是一个对象,可以用来添加或扩展实例的方法。当访问...
标题中的“apply应用小结”指的是JavaScript中函数对象的一个关键特性——`apply()`方法的使用总结。`apply()`是JavaScript中函数对象的一个方法,它允许我们调用一个函数,并可以自定义函数执行时的上下文(`this`...
【小试小程序云开发(小结)】 在本文中,我们将探讨小程序云开发的实践与经验,特别是如何利用微信小程序的云端能力进行全栈开发。微信小程序作为一种轻量级的应用形式,自推出以来就受到广泛关注。随着技术的发展,...
【北京课改版四年级上册小学英语 Unit 2 单元知识点小结】 本单元主要围绕打电话场景展开,旨在让学生掌握与打电话相关的词汇、句型以及基础语法知识。以下是详细的学习要点: 一、核心词汇 1. 动词: - speak:...
注意,这里的第一个参数是self即对象本身【注意和new的区别】3.__call__(self, *args, **kwargs) 如果类实现了这个方法,相当于把这个类型的对象当作函数来使用,相当于 重载了括号运算符 看具体的例子:复制代码...
汇编指令小结 本文将对8086-8088汇编指令进行总结,涵盖数据传送指令、算术指令、逻辑指令、串处理指令、控制转移指令和处理机控制指令等六大类。 一、数据传送指令 数据传送指令用于在寄存器、内存和I/O端口之间...
return Dispatch.call(documents, "Open", inputDoc).toDispatch(); } ``` - 功能:通过调用`documents.Open`方法打开指定路径的文档。 - **选择内容**: ```java public Dispatch select() { return word....
`Array.isArray`是ES5引入的标准方法,用于替代`Object.prototype.toString.call(arr)`的检查。 8. `isRegExp` 函数用于检测一个值是否为正则表达式对象。同样,它依赖于`Object.prototype.toString.call()`的结果...
FANUC机器人培训小结涵盖了从基础的机器人系统构成到高级的编程操作和系统管理等多个方面的内容。以下是对这些知识点的详细阐述: 1. **机器人系统组成**:FANUC机器人的系统包括机器人本体、控制柜、系统软件以及...
Java 调用存储过程小结 Java 调用存储过程是指在 Java 程序中调用数据库中的存储过程,以便实现复杂的业务逻辑和数据处理。存储过程是指保存在数据库并在数据库端执行的程序,可以使用特殊的语法在 Java 类中调用...