Javascript 什么是「;这";在一个示例JS函数中?

Javascript 什么是「;这";在一个示例JS函数中?,javascript,jquery,this,Javascript,Jquery,This,下面是JS/JQuery文件的全部内容。这不是我写的,但我正在努力补充。我无法理解此所指的内容。我以前从未见过以这种风格设置的函数(SmartPhone=function(){}) 智能手机=功能() { this.miniMap=新GameModeMap(); this.init=函数() { var self=这个; var$PhoneContainer=$(“#PhoneContainer”); $PhoneContainer.append(“”); $PhoneContainer.app

下面是JS/JQuery文件的全部内容。这不是我写的,但我正在努力补充。我无法理解此所指的内容。我以前从未见过以这种风格设置的函数(
SmartPhone=function(){}

智能手机=功能() { this.miniMap=新GameModeMap(); this.init=函数() { var self=这个; var$PhoneContainer=$(“#PhoneContainer”); $PhoneContainer.append(“”); $PhoneContainer.append(“”); $('.PhoneButton')。单击(函数(){self.toggleClicked()}); 这个.miniMap.init(“#电话屏幕”); //附加appMenu $(“#电话屏幕”)。附加(“”); $(“#应用程序菜单”).hide(); initMenu(); //切换单击(); } this.toggleClicked=function() { console.log(this); $('#PhoneContainer')。toggleClass('clicked'); $('#PhoneScreen')。toggleClass('vertical'); this.miniMap.toggle(); $('#AppMenu')。切换(); } this.init(); }


这是指SmartPhone对象。例如,this.init正在为智能手机定义init方法。稍后,您可以使用SmartPhone.init()访问它。

这是指SmartPhone对象。例如,this.init正在为智能手机定义init方法。稍后,您可以使用SmartPhone.init()访问它。

他们正在使用JavaScript

SmartPhone
在本例中本质上是一个类结构,其中
init()
是构造(由
SmartPhone
中最后一个
this.init()
行调用)

这个
是指作用域,在本例中是指正在创建的对象。

他们使用的是JavaScript

SmartPhone
在本例中本质上是一个类结构,其中
init()
是构造(由
SmartPhone
中最后一个
this.init()
行调用)

指的是作用域,在本例中指的是正在创建的对象。

JavaScript中的“this”变量可以根据您的上下文指向许多不同的内容。关于此,有一篇很棒的博文,名为:

在您显示的上下文中,这将绑定到从SmartPhone构造函数创建的对象。

JavaScript中的“this”变量可以根据您的上下文指向许多不同的内容。关于这一点,有一篇很棒的博文,名为:


在您显示的上下文中,这将绑定到从SmartPhone构造函数创建的对象。

因此,本质上我应该能够使用SmartPhone调用toggleClicked.toggleClicked();?我尝试了此操作,但它没有任何作用。因此,本质上我应该能够使用SmartPhone调用toggleClicked.toggleClicked()我尝试了这个,但没有任何效果。我选择你的答案是因为你最好地回答了这个例子中的问题method@Briz:另一个很好的资源:我选择你的答案是因为你最好地回答了这个例子中的
是什么的问题method@Briz:另一个很好的资源:你不能在这里隐藏代码,a在你发布之后,它将永远在编辑历史中,我不确定你的代码在这里发布时会变成什么样的许可证。是的,但这比让它公开发布要好。我不明白为什么要隐藏这一点。任何人都可以复制这一点是如此微不足道。而且,通过这样做,你不会帮助其他人在谷歌上发现这个问题。你不能在这里隐藏代码,在你发布后,它将永远在编辑历史中,我不确定你的代码在发布到这里时会变成什么样的许可证。是的,但这比让它在公开场合飞行要好。我不明白为什么要隐藏它。这太微不足道了,任何人都可以复制它。而且,通过这样做,你不会帮助其他人在谷歌上找到这个问题。
SmartPhone = function()
{
    this.miniMap = new GameModeMap();

    this.init = function()
    {
        var self=this;
        var $PhoneContainer = $("#PhoneContainer");
        $PhoneContainer.append("<div id='PhoneScreen'></div>");
        $PhoneContainer.append("<div class='PhoneButton'></div>");
        $('.PhoneButton').click(function(){self.toggleClicked()});

        this.miniMap.init("#PhoneScreen");

        //append the appMenu
        $("#PhoneScreen").append("<div id='AppMenu'></div>");
        $("#AppMenu").hide();
        initMenu();
        //toggleClicked();
    }

    this.toggleClicked = function() 
    {
        console.log(this);
        $('#PhoneContainer').toggleClass ('clicked');
        $('#PhoneScreen').toggleClass ('vertical');
        this.miniMap.toggle();
        $('#AppMenu').toggle();
    }

    this.init();
}
var Construct = function() {
  this.magic = 42;
}
var c = new Construct();
alert(c.magic === 42);