用户:yee剑走天下查看:188 回复:4 评论:22 创建时间:2022-06-28T19:11:19
那个this是有啥用的啊())()(()
看别人代码里面一堆this,搞不懂啥意思())(()
awa谁能告诉我
在函数之外就指全局变量,在函数之内表示这个变量,例如:
this//这里的this表示全局对象
entity.c=function(){
this.player.directMessage('你好!')//这里的this代表entity
}点赞0
评论
注:this在箭头函数里面是无效的
还有,this在严格模式下是undefined
那为啥要写成this.player.name呢?直接写entity.player.name不更好吗?())(
还有些代码我看不懂()就比如说function give(money, name) {this,money = money;this.name = name}。这又是啥意思())()(
如果用了entity.属性=这个函数的话,那么this代表entity,否则代表局部变量
所以这个this是代表的意思吗?那this.name = name的this指的又是啥?()()()()
存储局部变量的对象,可以用this.variable声明变量
啥叫局部变量?()
一个只能用在这个函数之内的变量,用在这个函数之外就会出错
这就是个构造函数,建议百度构造函数进行学习
在函数没有entity实参时,可以用this获取这个对象(entity)
当然,this不在一个对象里定义会触发语法错误
调用时用object.functionName()来调用
其他有什么不懂问我噢
谢谢()~
所以这个this是只能用在对象里面吗?
是的
在非对象中定义会报错的呢
源码极客事实上
this这个关键词一般用于对象
可以用于在对象的构造函数里表示这个对象本身
点赞0
评论
那个啥()比如说有些代码里面的函数,这样我看不懂啥意思:function give(money, name) {this.money = money;this.name = name}这不是对象吧?()
这样就应该指的是give自己这个函数了
这里的this是用于使这个函数会改变形参的地址的值,没用就只是在函数内运算形参,地址的值不会改变
SKQA//在对象中的方法中,this表示对象本身
var obj={
a:1919810,
func:()=>{
this.a=114514 //这里this就表示obj
}
}
//func()其实是global.func(),所以this表示global
function func(){
return this
}
//但是this更多用于class里
class Cls{
constructor(){
this.a=114514
},
a:114514
}
var hhhc=new Cls() //此时class里的this表示hhhc点赞0
评论