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 相关文章推荐
用ASP将SQL搜索出来的内容导出为TXT的代码
Jul 27 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
Mar 07 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
Jan 10 Javascript
javascript重写alert方法的实例代码
Mar 29 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
Apr 22 Javascript
node.js使用require()函数加载模块
Nov 26 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 Javascript
JQuery fileupload插件实现文件上传功能
Mar 18 Javascript
JavaScript数据结构之二叉树的计数算法示例
Apr 13 Javascript
JS引用传递与值传递的区别与用法分析
Jun 01 Javascript
使用React手写一个对话框或模态框的方法示例
Apr 25 Javascript
JavaScript实现打砖块游戏
Feb 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
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
Python sep参数使用方法详解
2020/02/12 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
拾金不昧的表扬信
2014/01/16 职场文书
运动会加油稿100字
2014/09/19 职场文书
施工安全员岗位职责
2015/04/11 职场文书
2016年元旦致辞
2015/08/01 职场文书
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js