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 相关文章推荐
jQuery 选择器理解
Mar 16 Javascript
比Jquery的document.ready更快的方法
Apr 28 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
Jun 08 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
javascript常用对话框小集
Sep 13 Javascript
深入理解Javascript动态方法调用与参数修改的问题
Dec 10 Javascript
jquery中load方法的用法及注意事项说明
Feb 22 Javascript
jQuery中removeClass()方法用法实例
Jan 05 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
jQuery模拟淘宝购物车功能
Feb 27 Javascript
layui实现tab的添加拒绝重复的方法
Sep 04 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
Mar 10 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者的疑难问答(2)
2006/10/09 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
微信小程序组件传值图示过程详解
2019/07/31 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
使用jquery实现轮播图效果
2021/01/02 jQuery
实例说明Python中比较运算符的使用
2015/05/13 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Python机器学习之决策树算法
2017/12/22 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
台湾三立电视电商平台:电电购
2019/09/09 全球购物
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
服务承诺口号
2014/05/22 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
严以律己学习心得体会
2016/01/13 职场文书
tomcat下部署jenkins的方法
2022/05/06 Servers