zoukankan      html  css  js  c++  java
  • JavaScript中this的详解

    JavaScript中this的详解

      在了解this之前,我们先来说明一下,构造函数 和 普通函数 的区别:

    1. 构造函数的首字母是大写的,这一点是约定俗成的,即使你使用的是小写的字母,也是可以的,但是那样不符合规范;

    2. 构造函数在调用的时候使用 new 操作符,普通函数不会使用new操作符的;

      new在执行的时候会做这些事情:

    1. 在内存中创建一个object实例对象;

    2. 将this指向创建的实例对象;

    3. 执行构造函数,给创建的实例对象赋予 属性和方法;

    4. 返回这个实例对象;

      那么,接着说明this的问题。在js的函数中this的指向问题,有点让人难以捉摸,在学习的过程中总结如下几点内容:

    1. 一般函数中的this,指向的是全局window:为什么会是window呢?,因为一般函数是window对象的方法,所有this指向的是window对象;

    2. 构造函数中的this,指向的是由构造函数创建的对象:因为在js中并没有 类 ,所以this指向的只能是由构造函数创建的对象实例;

    3. 方法中的this,函数作为一个对象的方法,其中使用的this指向的是该对象;

    4. 事件处理函数中的this,this指向是事件源;

    总结:函数定义中的 this 的指向,是由函数调用时决定的。

    作者:David-lcw
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    20180404
    20180323
    20180315
    mongodb
    linux 集群 读写分离 session入库 负载均衡 配置
    linux 搭建配置 lnmp搭建
    有语义标签
    CSS标签属性
    使用QQ登录商城
    ajax 跨域
  • 原文地址:https://www.cnblogs.com/david-lcw/p/10348427.html
Copyright © 2011-2022 走看看