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 相关文章推荐
XHTML-Strict 内允许出现的标签
Dec 11 Javascript
javascript+dom树型菜单类,希望朋友们一起进步
May 03 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
Jul 17 Javascript
js使用DOM操作实现简单留言板的方法
Apr 10 Javascript
JS实现的另类手风琴效果网页内容切换代码
Sep 08 Javascript
ionic实现可滑动的tab选项卡切换效果
Apr 15 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
Jan 25 Javascript
详解小程序不同页面之间通讯的解决方案
Nov 23 Javascript
vue-cli3.X快速创建项目的方法步骤
Nov 14 Javascript
js实现AI五子棋人机大战
May 28 Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 Javascript
JavaScript实现随机点名程序
Mar 25 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
ftp类(example.php)
2006/10/09 PHP
php数组应用之比较两个时间的相减排序
2008/08/18 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
Python中的迭代器漫谈
2015/02/03 Python
Python用GET方法上传文件
2015/03/10 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
Python装饰器语法糖
2019/01/02 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
python中count函数简单用法
2020/01/05 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
2014迎新年晚会策划方案
2014/02/23 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书