关于this的一些学习笔记
来源:互联网 发布:商家如何联系淘宝客服 编辑:程序博客网 时间:2024/06/08 07:30
关于可以指定this的apply()、call()函数
apply()
和call()
函数都可以 指定this值和参数值的情况下调用某个函数。call()
和apply()
的作用一样,区别在于提供给原函数的参数的方式不一样apply()
函数只接受两个参数,提供给原函数的参数以数组或类数组对象的形式存在
- 而
call()
接收无限个参数, 第二个参数及其后面的参数就是提供给原函数的参数。
- 而
例子
通过例子,我觉得可以更好的理解this
第一个例子:此时this是john对象
var john = { firstName: "John" }function func() { alert(this.firstName + ": hi!")}john.sayHi = funcjohn.sayHi() // 弹出John:hi!
第二个例子:this是window
func() // 弹出window对象function func() { alert(this)}
- 因为在函数
func()
被直接调用时,this绑定到全局对象。在浏览器中,window 就是该全局对象
第三个例子:监听函数的this是被监听的元素
function fn0(){ function fn(){ console.log(this); } fn();}fn0(); // 输出window对象document.addEventListener('click', function(e){ console.log(this); // 输出document对象 setTimeout(function(){ console.log(this); // 输出window对象 }, 200);}, false);
第四个例子: 使用call修改this
var john = { firstName: "John" }function func() { alert( this.firstName ) }func.call(john) // 弹出John
func()
函数通过call()
函数调用,此时this为John对象,john.firstName存在,输出”John”
第五个例子:使用call修改this
var john = { firstName: "John", surname: "Smith"}function func(a, b) { alert( this[a] + ' ' + this[b] )}func.call(john, 'firstName', 'surname') // 输出 John Smith
0 0
- 关于this的一些学习笔记
- tij学习笔记(关于构造函数的一些问题,this关键字)
- JavaScript 中 关于 this 的学习笔记
- 我的前端学习笔记 js关于this的指向
- 关于ccna的一些学习笔记
- 关于SEH学习的一些笔记
- 关于一些现成加密算法的学习笔记
- 关于C的一些学习笔记
- 关于HTML+css 的一些学习笔记
- 关于css的一些学习笔记
- 关于jvm 的一些学习笔记
- 关于mybatis的一些学习笔记
- 关于学习XHTML的一些笔记
- 关于C++ this指针学习的一点笔记
- js 关于this的一些语法问题
- 关于this指针的一些转载
- 黑马程序员-关于this的一些感悟
- 关于this的一些问题(转载)
- tomcat提示端口被占用,Tomcat v7.0 Server at localhost are already in use,tomcat端口已经被使用
- makeblastdb注意事项
- RabbitMQ(一)—RabbitMQ基础知识
- 【C#】登录成功后关闭本窗体打开主窗体
- 【PAT】1011. World Cup Betting
- 关于this的一些学习笔记
- 年薪5w和50w的职场人思考力有什么区别
- 彻底理解ThreadLocal
- vuejs教程1-简单实例
- 获得select下拉选择框的值和文本
- C# 数组集合<四> 二元查找树(非递归遍历)
- Java printf print println
- 音乐播放器的实现,框架的基本搭建,资源
- c++~socket编程