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 相关文章推荐
解决AJAX中跨域访问出现'没有权限'的错误
Aug 20 Javascript
Javascript String.replace的妙用
Sep 08 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
Oct 17 Javascript
JS实现控制表格行内容垂直对齐的方法
Mar 30 Javascript
js实现的后台左侧管理菜单代码
Sep 11 Javascript
jQuery打字效果实现方法(附demo源码下载)
Dec 18 Javascript
Bootstrap每天必学之级联下拉菜单
Mar 27 Javascript
Js动态设置rem来实现移动端字体的自适应代码
Oct 14 Javascript
jQuery控制元素隐藏和显示
Mar 03 Javascript
React中的refs的使用教程
Feb 13 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
Sep 28 Javascript
如何在JS文件中获取Vue组件
Sep 16 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
将数组写入txt文件 var_export
2009/04/21 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
EXT中xtype的含义分析
2010/01/07 Javascript
基于jquery的超简单上下翻
2010/04/20 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
组织委员竞选稿
2015/11/21 职场文书
教师远程培训心得体会
2016/01/09 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python