javascript痛点之四this的指向问题】的更多相关文章

先看以下例子 1.我们直接调用this看看指向的是谁 alert(this);//指向window 2.在函数中直接调用看看指向的是谁 function fn(){ alert(this); } fn();//window 3.将函数复制给变量看看指向的是谁 var obj = function(){ alert(this); } obj();//window 为什么指向的window呢?通过前面的学习我们知道全局变量都是window对象下的属性,alert也是window的一个属性,所以第一个…
1.执行环境(执行上下文) 先看段代码 var a = 10; var b = 20; function cc(){ var c = 30; alert("b="+b); } cc();alert(c);//报错 为什么我们在函数cc中可以访问到全局变量b而外部却访问不了局部变量c呢? 这就是执行环境的作用:它定义了变量或函数是否有权访问其他数据,决定各自行为. 在javascript中有三种可执行的类型 1.Global Code,即全局的.不在任何函数里面的代码,例如:一个js文件…
javascript中几种this指向问题   首先必须要说的是,this 永远指向函数运行时所在的对象,而不是函数被创建时所在的对象. (1).作为函数名调用   函数作为全局对象调用,this指向全局对象 function a(){ var author = "lry"; console.log(this.author); //undefined console.log(this); //Window } a(); //其实这是相当于 window.a() (2).作为方法调用  …
JavaScript 你真的了解this指向吗 前言 终于开始写this指向了,相信这对很多JavaScript的学习者来说是一个非常恐怖的环节,个人认为也算是JavaScript中最难理解的一个知识点,this非常的方便但是在你不熟悉它的情况下可能会出现很多坑. 本篇文章将带你充分了解this指向,用最精炼简短的语句阐述不同情况下的this指向. 详解this指向 window对象 window是一个全局的对象,里面存了很多方法. 当我们使用var进行变量命名时,变量名会存入到window对象…
  前  言           我们的程序语言经历了从"面向机器".到"面向过程".再到"面向对象"的一个过程.而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 指…