Meteor客户端的变量范围是多少?

Ran*_*all 2 scope meteor

在标准isClient条件内,我有一个变量存储.假设我需要从window它所在的位置访问它?

if (Meteor.isClient) {
  var people = new Meteor.Collection("people");
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

sai*_*unt 5

在Meteor客户端环境中,您在没有var关键字的情况下声明的每个变量都可以在全局对象上访问window.

if (Meteor.isClient) {
  people = new Meteor.Collection("people");
  console.log(window.people._name); // displays "people" in the console
}
Run Code Online (Sandbox Code Playgroud)

使用var关键字声明的变量是文件作用域,不使用var关键字声明的变量是应用程序作用域.

在客户端上,全局范围是window对象,在服务器上,全局范围是global对象.

在两个环境中声明全局变量时,在window对象和global对象上都声明了具有此名称的属性,这两个属性是不同的,如果修改客户端,则不会影响服务器.