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 相关文章推荐
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 Javascript
jQuery在html有效在jsp无效的原因及解决方法
Aug 02 Javascript
js showModalDialog弹出窗口实例详解
Jan 07 Javascript
javascript中的事件代理初探
Mar 08 Javascript
JavaScript前补零操作实例
Mar 11 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
JQuery插件Marquee.js实现无缝滚动效果
Apr 26 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
jQuery多个版本和其他js库冲突的解决方法
Aug 11 Javascript
浅谈JavaScript中promise的使用
Jan 11 Javascript
开发Vue树形组件的示例代码
Dec 21 Javascript
React Component存在的几种形式详解
Nov 06 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python多线程扫描端口代码示例
2018/02/09 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python设计密码强度校验程序
2020/07/30 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
客房主管岗位职责
2013/12/09 职场文书
办公室文书岗位职责
2013/12/16 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
机械工程师岗位职责
2014/06/16 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
上课说话检讨书
2015/01/27 职场文书
教师自荐信范文
2015/03/06 职场文书
老兵退伍感言
2015/08/03 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python