小程序的this指向问题

小程序的this指向问题,第1张

小程序的this指向的是window,一般要在方法里重新定义的

原因 :回调函数success中的this显示undefined,需要将外层this传进来。至于为啥会报undefined,有人给出解释是this指向回调函数本身。

另外一种方法:使用 箭头函数

控制台显示这两个指向相同

原因: 箭头函数中this指向外层作用域,

private string name;

private string alias;

// 上面两个变量是私有的,只能在本类中访问,其余的类不能访问他们

//而下面的构造方法是外界能访问的,由于除本类之外的类不能访问上面的两个变量name和alias,但是又要给它们传值(如果不传值定义这两个变量就毫无意义),怎么办呢?于是就用下面的构造方法,通过这个构造方法的形参name和alias把值传递进来。这样做的目的就是为了提高程序的安全性,不能让外界直接访问里面的name和alias

//这样在其余的类中就可以写:

Employee emp = new Employee("姓名",“别名”);

在本类中就是:

thisname=name;//这里的name=”姓名“;

thisalias=alias;//这里的alias=”别名“

这样就达到了外界并没有访问本类的name和alias,但是值也传递进来了,所以达到了提高安全性的目的

public Employee(string name, string alias)

{

//将构造方法带的值赋给本类中的name,这个this你可以看成是“本类”的意思

thisname = name;

thisalias = alias;

}

括号里的的参数不一定要取相同的名称这个方法也可以写成

public Employee(string a,stirn b)

{这样写就不用this了,因为这里name和alias是唯一的

name=a;

alias=b;

}

C语言里面没有this这个关键字的。这个关键字只用C++里面有

class

A{

public

void

getss(){

//此时这里的this代表的是累的实例

this->ges();

//等同于类的实例去调用

}

public

void

ges(){

}

}

java中this的用法可能有多重,但是只有一个意思 写在哪里都是一样的意思,代表对象本身(注意是对象,不是类),也有一种特殊情况,可以当构造函数用,会调用自身的构造函数

首先说第一个this,把this当参数传递给inner内部类,那么this代表的就是Outer的实例对象,至于你说为什么能在Inner中实现Outer的对象,这个和java的编译机制和语法规则有关,我也不是很了解,我了解的只是语法规则并未限制内部类不能定义外部类的对象,编译时内部类和外部类是分别编译成两个文件的

第二个this同样,this代表对象本身,对象有info属性,调用自身属性再正常不过的写法

第三个this一样代表对象本身,但是需要注意他的位置,他卸载内部类当中,那么它代表的是Inner实例的本身,而不是Outer本身,如果想要写Outer实例对象本身可以这么写Outerthis

this表示的是当前form

这要看你this是怎么使用的了,如果表示form;那在控制台中通常也不会怎么用的

一般不知道用哪个变量的时候就可以new (空格),这样就会出一个新的对象;然后就能编译通过了

以上就是关于小程序的this指向问题全部的内容,包括:小程序的this指向问题、关于C#中this的用法、c语言里面this是什么关键字。。求详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9878323.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存