2

此行位于学校项目中 JavaScript 文件的顶部。有人能告诉我它到底是做什么的吗?

var Tele = { 'Forms': {}, 'Form': {} };

然后是三个这样的函数,它们都包含更多函数,如下例所示。 FormsView.js

Tele.Forms.View = new function (){
    this.SetRequestTitle = function (title) {
    if (el.length == 0) {
        setTimeout(function () { Tele.Forms.View.SetRequestTitle(title); }, 100);
        return;
    }
    $('#FormTitleBarSubMenuText').html(title);
        document.title = title;
    };
    ....
    ....
};

然后是第二个 JavaScript 文件FormView.js,它只包含这个

Tele.Form.View = new function () {
    this.Initialize = function (data) {
        Tele.Forms.View.SetRequestTitle('Approval Request');
    };
};

我是 JavaScript 和一般脚本的新手,所以我只是想弄清楚事情是如何工作的。我了解函数内部发生了什么,而不是把它们联系在一起。谢谢!

4

3 回答 3

2
var Tele = { 'Forms': {}, 'Form': {} };

这声明了一个对象,其中 (和) 中Tele有两个空对象。其他两个片段将属性分配给这些对象(和)。FormsFormTele.Forms.ViewTele.Form.View

于 2013-08-07T14:51:34.397 回答
2

该行简单地声明了一个变量:

var Tele; // Declare a variable with the identifier Tele

并为其分配一个对象文字:

Tele = {} // Empty object literal

对象字面量有 2 个属性,Forms每个属性Form的值都是另一个对象字面量:

Tele = { 'Forms': {}, 'Form': {} } // Object literal with 2 properties

稍后,这些属性被引用,并且进一步的属性被添加到它们的值中(它们的值是对象字面量,因此您可以向它们添加属性,如下所示):

Tele.Form.View = new function () { // Add a View property to Tele.Form
    // ...
};
于 2013-08-07T14:51:34.557 回答
0

那是一个 JavaScript 对象。
它包含两个属性FormsForm,创建时它们当前为空。

对于第一个属性Forms,另一个属性被分配给它,即函数(该函数通常称为闭包)。
对于第二个属性Form,也分配了另一个属性,这也是一个函数。
要调用第一个函数,您只需调用


Tele.Forms.View();

并调用第二个,


Tele.Form.View();

希望解释清楚,并有所帮助。

于 2013-08-07T14:51:31.060 回答