js之this
来源:互联网 发布:钓鱼 知乎 编辑:程序博客网 时间:2024/05/18 00:15
主要分为以下四种情况
1.方法调用模式
当一个函数被保存为对象的一个属性时, 我们称它为一个方法, 当一个方法被调用时, this指向该对象, 如:
var obj = { value: 1, getValue: function() { alert(this.value); }};obj.getValue(); // 输出1, 此时的this指向obj
注意: 该模式中, this到对象的绑定发生在方法被调用的时候.
2.函数调用模式
当一个函数并非一个对象的属性时, 它被当作一个函数来调用, 此时的this指向全局对象(window), 如:
window.value = 1;function getValue() { alert(this.value); }getValue(); // 输出1, 此时的this指向window.
3.构造器调用模式
结合new前缀调用的函数被称为构造器函数, 此时的this指向该构造器函数的实例对象, 如:
function show(val) { this.value = val;};show.prototype.getVal = function() { alert(this.value);};var func = new show(1);func.getVal(); // 输出1alert(func.value) // 输出1// 从上面的结果, 可以看出, 此时的this指向了func对象.
4.apply/call调用模式
apply和call方法可以让我们设定调用者中的this指向谁, 如:
var fun = function(str) { this.status = str;}fun.prototype.getStatus = function() { alert(this.status);}var obj = { status: "loading"};fun.prototype.getStatus.apply(obj); // 输出"loading", 此时getStatus方法中的this指向了obj
0 0
- js之this 关键词
- js之this
- js之this
- js之this指针
- JS之prototype this
- js之浅谈this
- 理解JS之this进阶
- js之this的用法
- JS学习之this关键字
- JS学习之this关键字
- js学习总结之this
- js学习笔记之this
- 前端之js-this指针
- 深入理解JS之this进阶篇
- js之this,请问你是谁
- js老生常谈之this,constructor ,prototype
- js老生常谈之this,constructor ,prototype
- JS之This篇-菜鸟的福利
- Bug系列----HS key测试发生误报
- Linux+树莓派3+Python开发总结——python3+pyqt5+matplotlib环境搭建
- JZ2440TFTP下载
- TestNg依赖 dependsOnGroups
- android 数据库存储+listView+SimpleCursorAdapter 范例demo(亲测)
- js之this
- memcached教程
- Java Annotation实现原理
- Android 中的 MVP 模式(带实例)
- Java语法
- 相册图片
- React Native android 按钮的波纹效果
- Android APK反编译
- Java中空对象(null)引用方法及属性简单分析!