草庐IT

javascript - 关于 Javascript 中 'this' 关键字的困惑

我可以说“this”关键字对于那些使用C#等语言的人来说是Javascript中最令人困惑的部分。我也在互联网和StackOverflow上阅读了很多关于此的内容。喜欢here和here.我知道“this”关键字将绑定(bind)到上下文。在构造函数中它将绑定(bind)到正在创建的对象,当没有直接上下文时它将绑定(bind)到全局对象(即窗口)这些我都知道了,但是困惑还没有完全消除;因此,最好的理解方式是通过测试代码。所以我决定编写小代码,令我惊讶的是this关键字如此复杂。这是我测试的代码:functionsayHi(name){vartt=name;return{ss:tt,wo

struct - 是否可以将先前声明的函数绑定(bind)到结构?

是否可以将先前声明的函数绑定(bind)到多个结构?例如:packagemainimport"fmt"//veryusefulfunctionbothAandBshouldhavefuncSayHi(){fmt.Println("hi!")}typeAstruct{}//AneedsSayHi:(typeBstruct{}//BneedsSayHi:(funcmain(){a:=A{}a.SayHi()b:=B{}b.SayHi()}主要原因是我不想为每个需要它的类型重复SayHi实现,所以这不会作为答案实现:typeAstruct{}funcASayHi(){fmt.Println(

struct - 是否可以将先前声明的函数绑定(bind)到结构?

是否可以将先前声明的函数绑定(bind)到多个结构?例如:packagemainimport"fmt"//veryusefulfunctionbothAandBshouldhavefuncSayHi(){fmt.Println("hi!")}typeAstruct{}//AneedsSayHi:(typeBstruct{}//BneedsSayHi:(funcmain(){a:=A{}a.SayHi()b:=B{}b.SayHi()}主要原因是我不想为每个需要它的类型重复SayHi实现,所以这不会作为答案实现:typeAstruct{}funcASayHi(){fmt.Println(