`
xjtusaber
  • 浏览: 54009 次
  • 性别: Icon_minigender_1
  • 来自: 龙黄
社区版块
存档分类
最新评论

【读书笔记】关于javascript的apply和call函数

阅读更多
1:关于javascript的apply和call函数

官方解释:应用某一对象的一个方法,用另一个对象替换当前对象。
apply与call的区别是第二个参数不同。apply是 数组或者arguments 对象。而call是逗号隔开的任何类型。

apply,call方法最让人混淆的地方也是apply,call的特色。但最好不要滥用。
能改变调用函数的对象。如下例,函数中用到this关键字,这时候this代表的是apply,call函数的第一个参数。
关于call,最简单的解释就是:把隐藏的第一个参数显示化。因为通常一个方法x的调用,会有一个额外的隐藏参数,就是x所属的对象,如果没有所属,则为global(如window)对象,并在函数内可以用this关键字访问之。



<script src="prototype1.3.1.js"></script>
<input type="text" id="myText" value="input text">
<script>
function Obj(){
this.value="对象!";
}
var value="global 变量";
function Fun1(){
alert(this.value);
}
window.Fun1();
Fun1.apply(window);
Fun1.apply($('myText'));
Fun1.apply(new Obj());
</script>

 

分享到:
评论

相关推荐

    Js apply方法详解

    我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不...

    Javascript中call与apply的学习笔记

    注:该方法的作用和 apply() 方法类似,只有一个区别,就是call()方法接受的是若干个参数的列表,而apply()方法接受的是一个包含多个参数的数组。 语法 fun.call(thisArg[, arg1[, arg2[, ...]]]) 参数 thisArg 在...

    JavaScript-学习笔记.docx

    自己学习笔记。视频:腾讯课堂:渡一教育 内容大纲: ...原型、原型链、call、apply 继承模式 对象克隆 数组 类数组 数组去重 自定义type方法(类似于typeof) try-catch es5.0严格模式 with dom操作

    JavaScript高级程序设计学习笔记(四)

    文章目录第五章(下)引用类型Function 类型函数声明和定义没有重载函数声明与函数表达式作为值的函数函数内部属性函数属性和方法call()和apply()方法bind()方法基本包装类型Boolean类型Number类型String类型字符...

    JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现

    在JavaScript中继承方式的实现方式主要有以下五种:对象冒充、call()、apply()、原型链、混合方式。 下面分别介绍。 对象冒充 原理:构造函数使用this关键字给所有属性和方法赋值。因为构造函数只是一个函数,所以...

    bojue.github.io:博客首先是给自己看的

    Bojue 项目列表 TODOList Blog List 前端 网络 ...Cookie机制 前端鉴权 Web浏览器缓存机制 ...网站加载Waiting (TTFB) 优化 ...Git个人笔记 Javascript ...JavaScript中call,apply,bind方法的使用及原理 Java

    web前端开发笔记整理(四)

    文章目录对象構造函數包装类原型原型链toString()方法call/apply 对象 JavaScript不区分类和实例的概念 创建一个name对象 var name=“小明”; 创建一个函数的时候,函数也是对象 function foo() { return 0; } ...

    Front-end-base:前端学习笔记

    setTimeout(执行内容,等待时间)节流函数思路:利用 JS 原型的原理[call apply bind 三兄弟]三个函数都是用来改变原先指向指向,不过 bind 函数需要调用才能执行参考:[js 实现call和apply方法,超详细思路分析]...

    JS继承 笔记

    JS继承 JavaScript中没有类...而改变函数的执行环境可以使用call()和apply()两种 方法来实现。 我们首先创建一个Animal“类”(因为JS中没有类的概念,这里只是一个模拟,它实际上只是一个 Function函数对象)。 代码如

    note:更加杂乱的个人笔记

    _proto__执行上下文栈、变量对象、作用域链、this执行上下文闭包变量提升v8垃圾回收call、apply、bind原理及实现创建对象和继承oop编程思想ES6let、const箭头函数Set、Map、WeakSet和WeakMap异步Promise原理及实现...

Global site tag (gtag.js) - Google Analytics