分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

JS中this的四种用法

发布时间:2023-09-06 02:20责任编辑:白小东关键词:暂无标签

简而言之,就是function的this永远指向调用它的对象。而鉴于JS所谓的“万物皆对象”,这个this因此可以是任何物件,比如Global对象。

1.在一般函数方法中使用 this 指代全局对象

function test(){    this.x = 1;    alert(this.x);  }  test(); // 1

2.作为对象方法调用,this 指代上级对象

function test(){  alert(this.x);}var o = {};o.x = 1;o.m = test;o.m(); // 1

3.作为构造函数调用,this 指代new 出的对象

  function test(){    this.x = 1;  }  var o = new test();  alert(o.x); // 1 ???//运行结果为1。为了表明这时this不是全局对象,我对代码做一些改变:  var x = 2;  function test(){    this.x = 1;  }  var o = new test();  alert(x); //2

4.apply 调用 ,apply方法作用是改变函数的调用对象,此方法的第一个参数为改变后调用这个函数的对象,this指代第一个参数

  var x = 0;  function test(){    alert(this.x);  }  var o={};  o.x = 1;  o.m = test;  o.m.apply(); //0//apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。如果把最后一行代码修改为  o.m.apply(o); //1

JS中this的四种用法

原文地址:https://www.cnblogs.com/ximao/p/9892140.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved