相关疑难解决方法(0)

"this"关键字如何在函数中起作用?

我刚刚在JavaScript中遇到了一个有趣的情况.我有一个类,其方法使用object-literal表示法定义多个对象.在这些对象中,this正在使用指针.从程序的行为,我推断出this指针指的是调用方法的类,而不是文字创建的对象.

这似乎是随意的,尽管这是我期望它工作的方式.这是定义的行为吗?跨浏览器安全吗?有没有任何理由可以解释为什么它超出"规范如此说明"的方式(例如,它是否是一些更广泛的设计决策/哲学的结果)?简化代码示例:

// inside class definition, itself an object literal, we have this function:
onRender: function() {

    this.menuItems = this.menuItems.concat([
        {
            text: 'Group by Module',
            rptletdiv: this
        },
        {
            text: 'Group by Status',
            rptletdiv: this
        }]);
    // etc
}
Run Code Online (Sandbox Code Playgroud)

javascript language-features language-design

248
推荐指数
3
解决办法
9万
查看次数

Javascript中的Java面向对象概念

我已经使用Java很长一段时间了,很长一段时间我一直在使用GWT(Google Web Toolkit)进行Web开发.它的美妙之处在于我拥有了面向Java对象的构造,并且不会担心它如何被转换为GWT - 让Google来处理它.我对Javascript的了解已经足够,但并不是因为我可以用它进行大量的Web开发.后来我决定我必须对Javascript有更深入和更彻底的了解,这是一个真正的过山车 - 只是在我认为我得到了一些东西,有些东西来证明我错了 - 我只是被误解了.

有什么比stackoverflow更能表达我的关注的地方:我正在寻找一些资源和指向什么是Javascript等同于以下一些Java概念:

Class
instance of a class - object
Member variables
Getters
Setters
Abstract Class
Interface
Inheritance
Access Modifiers
Constructors
Run Code Online (Sandbox Code Playgroud)

我知道其中一些概念,但正如我所说 - 我相信我有一些概念上的困难.如果有人可以指出一个真正的javascript大师试图在这里查明这些概念,我将非常高兴.

javascript java gwt

9
推荐指数
3
解决办法
1925
查看次数