js中this用法实例详解


Posted in Javascript onMay 05, 2015

本文实例讲述了js中this用法。分享给大家供大家参考。具体如下:

1. 指向window

全局变量

alert(this) //返回 [object Window]

全局函数

function sayHello(){
  alert(this);
}
sayHello();

2. 指向该对象(在全局里面this指向window,在某个对象里面this指向该对象,在闭包里面this指向window)

var user="the Window";
var box={
  user:'the box',
  getThis:function(){
    return this.user;
  },
  getThis2:function(){
    return function (){
      return this.user;
    }
  }
};
alert(this.user);//the Window
alert(box.getThis());//the box
alert(box.getThis2()());
//the Window (由于使用了闭包,这里的this指向window)
alert(box.getThis2().call(box));
//the box 对象冒充(这里的this指向box对象)

3. 用apply,call改变函数的this指向

function sum(num1, num2){
  return num1+num2;
}
function box(num1, num2){
  return sum.apply(this, [num1, num2]);
  //this 表示window的作用域 box冒充sum来执行
}
console.log(box(10,10)); //20

4. new 对象

function Person(){
   console.log(this) //将 this 指向一个新建的空对象
}
var p = new Person();

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
Jun 11 Javascript
JavaScript 错误处理与调试经验总结
Aug 10 Javascript
读取input:file的路径并显示本地图片的方法
Sep 23 Javascript
用js将内容复制到剪贴板兼容浏览器
Mar 18 Javascript
Javascript 高阶函数使用介绍
Jun 15 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
Jan 25 Javascript
jQueryUI中的datepicker使用方法详解
May 25 Javascript
基于JavaScript实现复选框的全选和取消全选
Feb 09 Javascript
浅谈Koa服务限流方法实践
Oct 23 Javascript
Vue-cli配置打包文件本地使用的教程图解
Aug 02 Javascript
element-ui table组件如何使用render属性的实现
Nov 04 Javascript
在微信小程序中使用mqtt服务的方法
Dec 13 Javascript
javascript中返回顶部按钮的实现
May 05 #Javascript
JS简单实现动画弹出层效果
May 05 #Javascript
教你使用javascript简单写一个页面模板引擎
May 05 #Javascript
关于延迟加载JavaScript
May 05 #Javascript
Javascript闭包(Closure)详解
May 05 #Javascript
javascript实现仿IE顶部的可关闭警告条
May 05 #Javascript
JS实现点击按钮后框架内载入不同网页的方法
May 05 #Javascript
You might like
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
PHP实现小偷程序实例
2016/10/31 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
javascript radio 联动效果
2009/03/04 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
基于zepto.js实现登录界面
2017/10/09 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python进行两个表格对比的方法
2018/06/27 Python
Python Cookie 读取和保存方法
2018/12/28 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
公司贷款承诺书
2014/05/30 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
python 网络编程要点总结
2021/06/18 Python
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript