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 相关文章推荐
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
jQuery 美元符冲突的解决方法
Mar 28 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
JavaScript 性能优化小结
Oct 12 Javascript
全面解析Bootstrap表单使用方法(表单控件)
Nov 24 Javascript
浅析Bootstrip的select控件绑定数据的问题
May 10 Javascript
jquery 实现回车登录详解及实例代码
Oct 23 Javascript
vue组件实现弹出框点击显示隐藏效果
Oct 26 Javascript
基于Vue 实现一个中规中矩loading组件
Apr 03 Javascript
对vue生命周期的深入理解
Dec 03 Vue.js
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
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
如何让python的运行速度得到提升
2020/07/08 Python
python exit出错原因整理
2020/08/31 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
护理自我鉴定范文
2013/10/06 职场文书
音乐表演专业毕业生求职信
2013/10/14 职场文书
机电一体化专业应届生求职信
2013/11/27 职场文书
管理部部长岗位职责
2013/12/05 职场文书
简单租房协议书
2014/04/09 职场文书
公司承诺书范文
2014/05/19 职场文书
食品安全处置方案
2014/06/14 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
步步惊心观后感
2015/06/12 职场文书
导游词之包公祠
2019/11/25 职场文书