添加JavaScript的正确方法包括防护

时间:2018-08-01 08:57:59

标签: javascript include

在C编程语言中,有一个include防护,可防止同一头文件被两次包含:

#ifndef GRANDPARENT_H
#define GRANDPARENT_H

struct foo {
    int member;
};

#endif /* GRANDPARENT_H */

在网页中,JavaScript也经常用作头文件。有时,开发人员可能会错误地两次包含同一文件,从而导致难以调试的错误(示例here)。

防止包含同一文件的多个包含的正确方法应该是包含保护。但是,向JavaScript文件添加此类防护以使其在不污染名称空间,不破坏其他脚本和其他不良行为的情况下正确的方法是什么?


这个问题不是that question的重复,后者没有讨论使用这种防护装置的潜在问题。此外,它指向另一个库,而轻量级的内联解决方案将更受欢迎。

1 个答案:

答案 0 :(得分:1)

最模块化,可重用和“安全”的方法仅仅是,除了定义一些对象/类/名称之外,包含文件不应该执行任何操作。如果您多次包含文件,则它只会覆盖先前的定义。然后,您在某个地方显式启动了代码的一个入口点,例如:

<body onload="myscript.foo()">

Javascript中的内容也是如此(通常需要构建/捆绑系统):

import foo from 'bar';
const foo = require('bar');

foo();
相关问题