this的最基本五种指向

<script>
/*
* this 指向<调用>该<函数>的那个<对象>
*
*
* 场景1:
* 直接调用 普通函数
* this 指向 window,因为默认是 window 调用该函数
*
* 场景2:
* 事件处理函数
* this 指向 触发事件处理函数的那个事件源 对象
*
* 场景3:
* 对象方法
* this 指向调用该方法(函数)的对象
*
* 场景4:
* 定时器内的回调函数
* this 指向 window 对象,因为定时器是 window对象下的一个方法而已
*
* 场景5:
* 构造函数内部的this
* this 指向当前构造函数实例对象
*
*
* */

/* 场景1:普通函数 */
// function fn() {
//     console.log(this);    //  this === window
// }
// fn();

/* 场景2:事件处理函数 */
// var btn = document.getElementById('btn');
// btn.onclick = function () {
//     console.log(this);         // this === btn
// };

/* 场景3:对象的函数 */
// var obj = {
//     name: '李狗蛋',
//     age: 18,
//     sayHi : function () {
//         console.log(this);     // this === obj
//     }
// };
// obj.sayHi();

/* 场景4:定时器回调函数 */
// var timer = window.setInterval(function () {
//     console.log(this);        // this === window
// },1000)

/* 场景5:构造函数 */
function Person(name) {
    this.name = name;
    console.log(this);     // this 指向实例对象,实例对象还没赋值给变量,所以判断不了
}

var p1 = new Person('小明');

</script>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.概念 在JavaScript中,this 是指当前函数中正在执行的上下文环境,因为这门语言拥有四种不同的函数调...
    BluesCurry阅读 4,898评论 0 2
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,913评论 1 32
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,739评论 0 21
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,177评论 0 3
  • 写作有秘籍吗?就像降龙十八掌,九阴真经那样的秘籍?当然有。 1. 作为天生的文科爱好者,作文一直以来都是我的强项。...
    翩跹浅浅阅读 3,738评论 4 14

友情链接更多精彩内容