JavaScript关键字this指向

在js中this始终指向一个调用函数的那个对象

var a=‘有种你干掉我啊‘;
//纯粹调用函数

function test(){
console.log(this.a);//默认指向全局对象
}
//test();//=>windows.test()

//作为对象的方法被调用
Function.prototype.log=function(){
console.log(this.a);
}
//此时t为一个函数对象,注意js中一切皆为对象,函数是特殊的对象,具有prototype而已
//t函数继承了Function.prototype原型的方法用有log方法
//this指向原理,始终指向一个调用函数的对象,此时log()中的指向this对象
t.log();//=>function t(){}
function t(){}
var tt={a:1000};
tt.log=t.log;
tt.log();//1000

//作为构造函数调用
function obj(){
  this.a=99;
}
var mm=new obj();
console.log(mm.a);

//作为函数的apply方法调用,传入的第一个参数代表这个方法函数的调用对象
mm.log=test;
mm.log.apply();

时间: 2024-07-30 07:05:21

JavaScript关键字this指向的相关文章

this关键字的指向

javascript 的this关键字总是指向一个对象,具体指向哪个对象是在运行基于函数的执行环境动态绑定的,而非函数被声明时的环境.this的指向除去with和eval的情况,具体的指向大致分为四种 1.作为对象的方法调用. 2.作为普通函数调用 3.构造器的调用 4.Fun.prototype.call 或 Fun.prototype.apply // 1.在javascript中作为对象的方法被调用,this指向该对象 var obj = { a:1, getA : function(){

JavaScript中this关键字的指向问题

1.纯粹的函数调用,this就代表全局对象Global var x = 1; function test(){ var x = '二哈'; console.log(this.x); //1 } test(); 2.作为对象的成员方法时,this代表这个对象 var x = '二哈';function test(){ console.log(this.x); //1 } var obj = { x: 1, fn: test } obj.fn(); 3.作为构造函数调用,this代表new关键字生成

javaScript的this指向总结(原创)

在javascript中this的指向一直是前端同事的心头病,也同时是各面试题的首选,现在我们就来总结一下js中this的指向.首先需要了解一下几个概念: 1:全局变量默认挂载在window对象下2:一般情况下this指向它的调用者3:es6的箭头函数中,this指向创建者,并非调用者4:通过call.apply.bind可以改改变this的指向 下面我们具体分析一下 1:在函数调用时 (非严格模式) 1 const func = function () { 2 console.log(this

总结JavaScript关键字

JavaScript中的关键字有: Break else new var Case finally return void Catch for switch while continue function this with default if throw Delete in try Do instanceof typeof abstract enum int short boolean export interface static byte extends long super char

JavaScript this的指向问题

this的指向 在函数创建的时候,this的指向还未确定,它最终指向调用它的对象 window.onload=function(){ window.a="我的曾经" function da(){ console.log(this.a) } da() //我的曾经} 解:window对da()函数进行调用,故this指向window window.onload=function(){ window.a="我的曾经" var bn={ a:"小白",

JavaScript中this指向的简单理解

首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉),那么接下来我会深入的探讨这个问题. 为什么要学习this?如果你学过函数式编程,面向对象编程,那你肯定知道干什么用的,如果你没有学过,那么暂时可以不

javascript 关键字this

1.函数的常用方法,this表示全局对象Global function test() { this.x = 1; alert(this.x); } test(); 2.关键字this用在对象的方法中,this总是指向该方法的对象. /* this用在sayName()方法中,在此环境中,this就等于oPerson. * */ var oPerson = new Object(); oPerson.name = "bi"; oPerson.sayName = function() {

JavaScript this的指向

this 的指向有几种情况: 全局对象(指向 window): 作为普通函数调用(指向 window): 作为对象方法调用(一般指向该对象): 构造器调用(一般指向构造器函数): Function.prototype.call 或 Function.prototype.apply 调用(指向 Function). 1. 全局对象的this 1 console.log(this); // this指向于window 2 3 function test(){ 4 console.log(11); 5

javascript this指针指向?

前言 理解javascript的指针就需要先了解js的执行环境和作用域!执行环境的定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有的变量和函数都保存在这个对象中.虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它. 1.全局执行环境 全局执行环境是最外围的一个执行环境,根据js实现的宿主环境的不同,表示执行环境的对象也不一样.在web浏览器中认为window就是全局执行的对象.因此所有的全局变量和函数都是作为w