JS-this关键字
2016-04-11 08:55
411 查看
this指的是,调用函数的那个对象。
这个时候的结果是:2,1
此时的this指向全局
这个时候的结果分别是1,3,3和1,2,3,在test作为o的方法时,this指向o
此时的结果是1,undefined,2,this指向o,但是o的x还没有定义。
apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。
apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为1,2,2,证明this指的是全局对象。
指向全局
var x = 1; function test(){ var x =2; alert(x+","+this.x); } test();
这个时候的结果是:2,1
此时的this指向全局
作为某个对象的方法调用,指向这个上级对象
function test(){ var x=1; alert(x+","+this.x+","+window.x); } var o = { x:2 }; var x = 3; test(); // 1 o.test = test; o.test();
这个时候的结果分别是1,3,3和1,2,3,在test作为o的方法时,this指向o
作为构造函数
function test(){ var x=1; alert(x+","+this.x+","+window.x); } var x=2; var o= new test();
此时的结果是1,undefined,2,this指向o,但是o的x还没有定义。
apply
function test(){ var x=1; alert(x+","+this.x+","+window.x); } var x=2; var o={x:3,test:test}; o.test.apply();
apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。
apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为1,2,2,证明this指的是全局对象。
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js数组实现图片轮播
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- 爆炸式的JS圆形浮动菜单特效代码
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值
- PHP VBS JS 函数 对照表
- node.js抓取并分析网页内容有无特殊内容的js文件
- PHP+JS实现大规模数据提交的方法
- 仿51JOB的地区选择效果(可选择多个地区)