JavaScript 你真的了解this指向吗】的更多相关文章

JavaScript 你真的了解this指向吗 前言 终于开始写this指向了,相信这对很多JavaScript的学习者来说是一个非常恐怖的环节,个人认为也算是JavaScript中最难理解的一个知识点,this非常的方便但是在你不熟悉它的情况下可能会出现很多坑. 本篇文章将带你充分了解this指向,用最精炼简短的语句阐述不同情况下的this指向. 详解this指向 window对象 window是一个全局的对象,里面存了很多方法. 当我们使用var进行变量命名时,变量名会存入到window对象…
javascript中几种this指向问题   首先必须要说的是,this 永远指向函数运行时所在的对象,而不是函数被创建时所在的对象. (1).作为函数名调用   函数作为全局对象调用,this指向全局对象 function a(){ var author = "lry"; console.log(this.author); //undefined console.log(this); //Window } a(); //其实这是相当于 window.a() (2).作为方法调用  …
  前  言           我们的程序语言经历了从"面向机器".到"面向过程".再到"面向对象"的一个过程.而JavaScript是一门基于对象的一门语言,它介于面向过程与面向对象之间.在学习JavaScript的过程中,OOP是非常重要的一环,下面我们来一起探讨一下JS中的面向对象吧!!! 1 .OOP的基础问题 1.1什么是面向过程和面向对象? 面向过程:专注于如何去解决一个问题的过程步骤.编程特点是由一个个的函数去实现每一步的过程步骤…
在查了大量的资料后,我总结了下面的三条规则,这三条规则,已经可以解决目前我所遇到的所有问题.规则0:函数本身是一个特殊类型,大多数时候,可以认为是一个变量. function a() { alert(this); } 或者 var a = function() { alert(this); } 都可以认为是创建了一个变量,这个变量的值就是一个函数. 规则1:如果一个函数,是某个对象的key 值,那么,this就指向这个对象. 这个规则很好理解: var a = function(obj) { a…
编程世界只存在两种基本元素:一个是数据.一个是代码. (能写代码算入门,能处理复杂场景或者数据算合格,能不变应万变是不朽) 最流行的编程思想莫过于面向对象编程,因为面向对象编程思想把数据和代码结合成统一整体,将杂乱的算法和子程序及复杂的数据结构 划分为清晰有序的对象结构. (js分两种写法:一种面向过程,一种面向对象:面向过程基本就是想到啥写啥,能力强点的给你封装到极致.得体.便与后续阅读: 面向对象就是抽象功能具体化,便于后续扩展,需要深厚功力) 对象本无根,类型亦无形,本来无一物,何处惹尘埃…
一般认为:严格模式下this不允许指向全局对象.是函数体是否处于严格模式! 如:http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html 需要说明的是:本身指向全局的this是没有问题的. 示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <tit…
编程过程中,着实十分困扰this的指向性,经过查阅一番资料,终于搞清楚了,在这里总结一下,全文分为以下三个部分: 什么是this指针? this指针指向哪里? 何时使用this? 一 什么是this指针? 在JavaScript中,this指针是在创建函数时,由系统默认生成的两个隐式参数之一(另一个是arguments). this指针指向与该函数调用进行隐式关联的一个对象,该对象被称为“函数上下文”. 要想成功的使用this,就必须搞清楚在不同情形下,this指针指向什么“函数上下文”,下面将…
JavaScript的this的指向问题! 这是我自己敲的, 报错! <button>点击查看绑定事件的this指向!</button> <script> // 函数的不同调用方式决定了this 的指向不同! // 1 普通函数 this 指向window function fn() { console.log('普通函数的this指向' + this); } window.fn(); // fn.call(); // 2 对象的方法!就是函数放在对象里面!this 指…
在JavaScript中,this不是固定不变的,它的指向取决于上下文环境,一般的,认为this指向使用它时所在的对象.主要有以下几类指向: 在方法中,this 表示该方法所属的对象. 如果单独使用,this 表示全局对象. 在函数中,this 表示全局对象. 在函数中,在严格模式下,this 是未定义的(undefined). 在事件中,this 表示接收事件的元素. 类似 call() 和 apply() 方法可以将 this 引用到任何对象. 一.方法中的this var isObject…
# this的指向在函数创建的时候确定不了.只有在执行的时候,才可以确定. ## 1 . 这里的this指向window window.fn(); 所以this.user是undefined function fn (){ var user='追梦人'; console.log(this.user); // undefined console.log(this); // window } fn(); ## 2.谁调用,指向谁 var o ={ user:'追梦人', fn:function(){…