JavaScript中C外部声明的等价物

JavaScript中C外部声明的等价物,javascript,c,Javascript,C,编写一些JS,并希望在我的JS脚本的主体中具体列举我从其他文件导入的内容。对于JS是否有一个等价于C的extern声明 谢谢 函数范围之外声明的变量在JavaScript中是全局变量。例如,如果您有两个JS文件,并且在第一个文件中声明了一个变量“myObject”,则该变量将在第二个文件的作用域内,并且如果第一个文件已加载到浏览器中,则该变量将被声明为可使用 如果需要访问JS文件之间的对象,最好将一个对象公开到全局名称空间,并在该对象上声明字段和方法 文件1: var myObject; myO

编写一些JS,并希望在我的JS脚本的主体中具体列举我从其他文件导入的内容。对于JS是否有一个等价于C的
extern
声明


谢谢

函数范围之外声明的变量在JavaScript中是全局变量。例如,如果您有两个JS文件,并且在第一个文件中声明了一个变量“myObject”,则该变量将在第二个文件的作用域内,并且如果第一个文件已加载到浏览器中,则该变量将被声明为可使用

如果需要访问JS文件之间的对象,最好将一个对象公开到全局名称空间,并在该对象上声明字段和方法

文件1:

var myObject;
myObject.myField = "Field!";    
文件2:

myObject.prototype.myFunction = function () {
    return this.myField;
};

希望这能有所帮助,很高兴听到其他建议并接受更正:在JavaScript中没有C
extern
声明的等价物,因为JavaScript不需要像C那样在使用变量之前声明它们


如果您的JavaScript代码依赖于
窗口
对象上定义的某些属性,只需在文件顶部附近的注释中记录这些属性。

遗憾的是,JavaScript没有用于控制导入或不导入内容的内置功能

默认情况下,页面中加载的所有sript都会将其全局变量写入相同的共享全局范围。解决这一问题的唯一方法是编写脚本,以便使用


或者,您可以使用人们提出的模块系统扩展之一。例如,您可以使用CommonJS模块系统编写脚本,它将使脚本中的顶级
var
声明无法从其他脚本中看到,并允许您显式导出所需的值。有些运行时(如nodejs)可以本机运行CommonJS模块,而对于那些不运行CommonJS模块的运行时(如浏览器),您可以使用browserify之类的工具将CommonJS模块编译成一个文件,该文件可以放入脚本标记中,这样做仍然是正确的。

什么是
.prototype
成员?@AndrewC From[:因为Javascript并没有确切的子类对象,所以prototype是一个有用的解决方法,可以使某些函数的“基类”对象充当对象。