Javascript - 这是一个好习惯吗?

标签 javascript jquery standards document-ready iife

在我们公司,我们正在启动一个新的 Web 项目,我是公司的新人,以前的应用程序都是这样准备文档的。 (顺便说一句,我们正在使用 jQuery)

var AccountingMovements = function AccountingMovements() {

    //sometimes they use var _that = this;
    var _this = this;

    _this.Constructor = function Constructor() {
        //here goes the code when document is ready
    }
}

var $AccountingMovements = new AccountingMovements();
$(document).ready($AccountingMovements.Constructor);

当我问我的同事他们为什么使用这种模式时,他们告诉我 Javascript 代码必须有自己的构造函数,而且代码应该这样写,当我问这是否是公司规定时,他们说不是,没有公司标准规定应该这样写。似乎他们只是这样做是因为“它一直都是这样做的”,而不是说这是一种常见的 javascript 标准化做法或类似的做法。

在我身边,我学会了使用 IIFE 并准备好 jquery 文档,我在 javascript 专家给出的许多 Web 示例、实际使用说明,甚至维基百科文章中都找到了它。我这样写我的代码

(function (code) {
    code(window.jQuery, window, document);
}(function ($, window, document) {
    $(function () {
        //here goes the code when document is ready
    });
}));

我的开发负责人(对 javascript 不太了解,因为他来自桌面开发背景,但在业务逻辑方面他很擅长)告诉我,因为这是一个新项目,每当我看到一个新的解决方案,一个更好的实现,或者对工作有帮助的东西,我必须毫不犹豫地告诉他,他会和其他领导讨论。所以我告诉他我的方法,我不明白旧的构造函数代码的目的,而且没有人给我一个令人信服的解释,他告诉我自己去看看是否有什么东西支持那个方法,因为我给他看备份矿的资源,为了告诉命令万一我的更好,扔掉其他方法。

看完这个故事,我的问题是,

javascript 构造函数方法有名称吗?我的意思是,这是一个实际的标准、实践或建议吗?因为我找不到任何关于它的信息。可能是我错了,构造函数方法更好或有效,但因为我没有相关信息,所以我需要确定才能讨论我的实现。

提前致谢。

最佳答案

Constructor这个词在JavaScript语言中没有特殊含义;只有你的同事赋予它的意义。一些 JS 框架如 dojo 创建了类似命名的函数,但它们也有专门的、集中的对象定义方式,以及它们调用构造函数的集中位置(而不是在下一行手动调用它,为错误留出空间)

相信任何 JavaScript 对象都必须等到 DOM 准备就绪后才能构造它们自己,这也可能会产生误导。你认为 JQuery 是如何创建自己的? (而且它必须很早,在人们编写 $().ready 来制作他们的 onload 函数之前)

我不知道您的同事编写对象的方式有任何具体问题,只要他们为当前的 Constructor 函数分配非常不同的语义即可。上面的代码如var _this = this 就是构造函数。 was-Constructor 函数的内容最好用onDOM 或类似的方式来描述。如果他们更愿意遵循这个系统,最好让他们的类(class)系统通过一个中央图书馆;无论是您自己的还是其他人的。

关于Javascript - 这是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31165361/

相关文章:

javascript - 无法使用 ESRI Javascript API 和 html2canvasa 打印 map div

php - 添加文本时停止闪烁(清除框并重新填充)的算法

opengl - OpenGL中三角形缠绕方向的实际标准是什么?

c++ - Microsoft C++ 语言引用

jquery - 实现jQuery点击功能的最佳方式

javascript - 在 React 中屏蔽字段

javascript - React 中的臃肿状态

javascript - JavaScript 中的大数

CSS:填充与高度

javascript - 正确的函数调用礼仪?