在php中" - >"类似(又名等效)到"." 在JavaScript中?

use*_*ser 5 javascript php

换句话说,php

$object->method();
Run Code Online (Sandbox Code Playgroud)

$object->property = 'someValue';
Run Code Online (Sandbox Code Playgroud)

相当于,js:

$object.method();
Run Code Online (Sandbox Code Playgroud)

$object.property = 'someValue';
Run Code Online (Sandbox Code Playgroud)

我很好奇,还是我的php和js理解搞砸了?

小智 9

类似,但又如此不同.

一个 - 但不是独家!- 区别在于,在PHP中,方法绑定到类的实例,而在JavaScript中,方法只是函数(它们是第一类值),恰好由("存储在")属性命名.对象.

由于PHP方法绑定到类的实例,这意味着$this内部不会根据调用方法的方式而改变.

但是,在JavaScript中,object.member(...)它等同于object["member"].call(object, ...):thisJavaScript方法内部完全取决于函数的调用方式.(这就是为什么JavaScript中的回调有时需要闭包才能this正确传递的原因.)

当您继续学习/使用这两种语言(并希望完全不同的语言!)时,您将能够在基本设计差异和语法方面看到更多相似之处和不同之处.学会"尊重"一种语言,它是什么以及它是如何做的,是与它成为朋友的好方法.

快乐的编码.

  • 自从我上次阅读你的答案以来已经有一段时间了,但我很高兴我再次这样做了.回顾过去的一段时间,这真的是一件事.那时候,我只是在寻找正确的答案.但现在我看到你的最后一段非常鼓舞人心.我不知道你是谁,但你只是激励某人(我). (2认同)