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

时间:2015-03-05 01:51:00

标签: meteor scope

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

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

谢谢!

1 个答案:

答案 0 :(得分:5)

在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对象上都声明了具有此名称的属性,如果修改客户端,则这两个属性是不同的,它不会影响服务器。