this的应用场景
Posted fortuneteller-li
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this的应用场景相关的知识,希望对你有一定的参考价值。
作为对象方法调用
- this作为对象的属性调用时,this指向该对象
- this作为对象的属性被赋值给一个新的变量时,this指向window
var obj = { x: "li", fortuneteller: function() { console.log(this); } } obj.fortuneteller() //指向obj var y = obj.fortuneteller y() //window
作为构造函数调用
- 当函数作为构造函数调用时,this代表new出来的对象;
- 如果没有使用new而是直接调用函数,this===window;
function person() { this.name = "Fortuneteller", console.log(this); } var man = new person() //person person()//window
作为普通函数
function fn() { return this } console.log(fn());//window
通过call(),apply().bind()改变this指向,this指向是传入的对象
共同点:都是改变函数的this指向问题
不同点:
- function.call(this,对象,对象...)
- function.apply(this,[对象,对象])
- var ss=function.bind(this,对象,对象...)
- call apply直接执行 bind没立即执行,函数再执行一遍
以上是关于this的应用场景的主要内容,如果未能解决你的问题,请参考以下文章
11.按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的(代码片段
ngx-translate实现国际化:this.translate.use()this.translate.get()this.translate.instant()onLangChange(代码片段