JS中 this 的四种用法
2024-08-23 07:01:25
1、在一般函数中使用 this 指全局对象 window
function fn(){
this.x = 1
}
fn(); //相当于window.fn()
2、作为对象方法使用 this 指该对象
function fn(){
alert(this.x) //this是调用该函数的obj对象 输出test
}
var obj = {'fn':fn,'x':'test'}
obj.fn();
3、作为构造函数使用 this 指new 函数出的对象
function fn(){
this.x = 123; //this是调用该函数的obj对象
}
var obj = new fn(); //obj = {x:123}
4、apply 调用函数,apply 方法作用是改变函数的调用对象,此方法第一个参数为改变后的调用函数的对象,函数里this指第一个参数
var x = 11;
function fn(){
alert(this.x)
}
var obj = {'fn':fn,'x':22}
var obj2 = {'x':33}
obj.fn.apply(); // 11 ,apply()参数为空时,默认调用的是全局对象,this当前指全局对象
obj.fn.apply(obj); // 22
obj.fn.apply(obj2); // 33
最新文章
- ubuntu下gedit闪退,遇到问题:ERROR:../../gi/pygi-argument.c:1583:_pygi_argument_to_object: code should not be reached 已放弃 (核心已转储)
- 安装Kafka
- ng-if ng-show ng-hide 的区别
- 把文本框嵌入到form
- PHPDBG
- opencv的一次性配置
- Ubuntu 14.10 下开机不进入图形化界面
- centos6.2下安装redis和phpredis扩展,亲测好用
- Sold out
- Metadata Lock原理3
- POJ1094 拓扑排序
- WordPress创建过程
- hdu1114
- iOS开发——单例模式
- Windows 2012建立域控(AD DS)详解
- SignalR第一节-在5分钟内完成通信连接和消息发送
- Reveal : Xcode辅助界面调试工具
- DomeOS部署
- Angular中的服务的使用
- henrylee2cn简单的rpc服务