javascript的this的几种使用情况
来源:互联网 发布:ubuntu root中文 编辑:程序博客网 时间:2024/06/06 03:15
情况一:
function Fn(){
this.name=”毛毛虫”;
this.year=”1989”;
console.log(this) // Fn{name:”毛毛虫”,year:”1989”}
}
var fn=new Fn();
console.log(fn.name); //毛毛虫
console.log(fn.year); //1989
以上代码中,如果函数作为构造函数用,那么其中的this就代表它即将new出来的对象。
注意,以上仅限new Fn()的情况,即Fn函数作为构造函数的情况。如果直接调用Fn函数,而不是new Fn(),情况就大不一样了。
function Fn(){
this.name=”毛毛虫”;
this.year=”1989”;
console.log(this) // Fn{name:”毛毛虫”,year:”1989”}
}
Fn() //window
情况二
函数作为对象的一个属性
var fn={
name:”毛毛虫”,
year:1989,
showName:function(){
console.log(this.name);
}
}
fn.showName() //毛毛虫
以上代码中,showName不仅作为一个对象的一个属性,而且的确是作为对象的一个属性被调用。结果this就是fn对象。
注意,如果showName函数不作为fn的一个属性被调用,会是什么结果呢?
var fn={
name:”毛毛虫”,
year:1989,
showName:function(){
console.log(this.name);
}
}
var f1=fn.showName;
f1(); //undefined
情况三
使用call或apply
var obj={
x:1
}
function fn(){
console.log(this) //obj{x:1}
console.log(this.x); //1
}
fn.call(obj)
情况四
var obj={
x:10,
fn:function(){
f1:function(){
console.log(this); //window
console.log(this.x); //undefined;
}
f1();
}
}
obj.fn();
- javascript的this的几种使用情况
- java 必须用this的几种情况
- this使用的两种情况
- javascript的this使用
- ADO.NET使用的几种情况
- 使用正则的几种情况
- <a>标签的使用几种情况
- JavaScript中出现undefined的几种情况
- JavaScript 函数与变量的几种特殊情况
- java中this的使用情况
- JavaScript使用分号的三种情况
- javascript中this的使用
- JavaScript中this的使用
- JavaScript中this的使用
- JavaScript中this的使用
- JavaScript之this的使用
- javaScript中的this的使用
- es5 javascript this的使用
- 使用 ortp 发送原始 H.264 码流
- linux学习笔记(8)
- 【词汇详解】Http协议详解(一)发展历程
- C++ stl队列Queue用法介绍:删除,插入等操作代码举例
- redis3.2.4 集群安装详细步骤
- javascript的this的几种使用情况
- A Bug's Life
- 阻塞队列LinkedBlockingQueue源码分析
- 23种设计模式总览
- Hibernate 使用
- [NOIP2017模拟]Fantasy Strange Tree
- WebSerVerXML解析
- 集合List中的批量删除
- 自动行为操控Steering(六)—逃避(与拦截方向相反,单体操控)