JS中this的四种用法
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
转载于:https://www.cnblogs.com/pabitel/p/5922511.html
JS中this的四种用法相关推荐
- js中继承的几种用法总结(apply,call,prototype)
本篇文章主要介绍了js中继承的几种用法总结(apply,call,prototype) 需要的朋友可以过来参考下,希望对大家有所帮助 一,js中对象继承 js中有三种继承方式 1.js原型(proto ...
- 【温故知新】——原生js中常用的四种循环方式
一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出"欢迎下次光临" 在网页中弹出框输入1 网页输 ...
- Js中自定义对象四种方式
Js中自定义对象四种方式 1 类似JAVA有参构造方式: 1.定义对象: function 对象(属性[age]){追加属性:如(this.age = age)[this代表当前对象的地址值的引用]追 ...
- Java中switch的四种用法
总共有四种不同形式的switch.两种是switch语句,两种是switch表达式,表达式会生成一个值.switch表达式没有"直通式"行为. 表达式,无直通行为 int numL ...
- JS中对象的四种继承方式:class继承、原型链继承、构造函数继承、组合继承(构造函数和原型链继承的结合)
前言 才发现之前没有对JavaScript中的继承做过总结,不过看得到是不少,接下来就对这几种继承方式做一下总结. class继承 class继承是ES6引入的标准的继承方式. ES6引入了class ...
- js学习总结----js中常用的四种输出方式
1.alert('内容') 在浏览器中弹出框显示我们的内容 不输入内容弹出undefined (注意alert弹出的都是字符串) 2.document.write('内容') 在页面中输出显 ...
- Python正则表达式中问号的四种用法
1.原文符号 因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,? 2.有无量词 问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次. 3.(非)贪婪匹配 贪婪匹配 ...
- 第22篇 js中的this指针的用法
前面把js的相关知识总结了下,今天把js中的上下文的this,对于强类型语言,this的用法非常的单一,因为他们没有js特有的动态绑定. 首先看下面代码: function funcA() {this ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user ...
最新文章
- 判断两条线段是否相交
- 【视频】vue指令之@click及其stop修饰符
- ContextLoaderListener的用途以及配置方式
- CDC之CreateCompatibleDC与BitBlt
- vue3 线上环境 ctx 无法识别
- 后端根据百度地图真实路径距离_百度地图开放平台介绍--路线规划
- KnockoutJS 3.X API 第五章 高级应用(2) 控制后代绑定
- myeclipse+tomcat-热部署
- Wannafly交流赛1: B. 白兔的式子(组合数)
- Mysql 中将blob类型转换成varchar类型
- android中include标签使用详解
- E-BOM和M-BOM的区别
- html实现背景图片自动更换,HTML实现背景图片的替换
- 智在未来,明年再聚--OFweek2018(第三届)中国高科技产业大会完美闭幕!
- [案例4-6]研究生薪资管理
- Word 题注重新编号
- .fire勒索病毒如何删除 .fire后缀文件恢复(Dharma)
- 如何高效建设传奇的DAO
- 【矩阵乘】【DP】【codevs 1305】Freda的道路
- SQL SERVER IO request 超时