Meteor 客户端的变量作用域是什么?

What is the variable scope in Meteor client side?

在标准 isClient 条件中,我存储了一个变量。假设我需要从 window 访问它,它位于何处?

if (Meteor.isClient) {
  var people = new Meteor.Collection("people");
}

谢谢!

在 Meteor 客户端环境中,您声明的每个没有 var 关键字的变量都可以在 window.

的全局对象上访问
if (Meteor.isClient) {
  people = new Meteor.Collection("people");
  console.log(window.people._name); // displays "people" in the console
}

使用 var 关键字声明的变量是文件范围的,未使用 var 关键字声明的变量是应用程序范围的。

在客户端上,全局作用域是window对象,在服务器上,全局作用域是global对象。

当你在两个环境中声明一个全局变量时,在window对象和global对象上都声明了同名的属性,这两个属性是不同的,如果您修改客户端一,它不会影响服务器一。