在循环中使用javascript注册全局变量

在循环中使用javascript注册全局变量,javascript,php,global-variables,Javascript,Php,Global Variables,在php中,只需执行以下操作,即可轻松添加全局变量: $array = ['pigs','cows']; for($i = 0 ; $i < count($array); ++$i ){ $GLOBALS[$array[i]] = 'somthing cool'; } 在循环外部定义视图数组,然后将每个项附加到其中。像这样: var views = []; for( var i = 0 ; i < views.length ; ++i ){ /* where &l

在php中,只需执行以下操作,即可轻松添加全局变量:

$array = ['pigs','cows'];
for($i = 0 ; $i < count($array); ++$i ){
    $GLOBALS[$array[i]] = 'somthing cool';
}

在循环外部定义视图数组,然后将每个项附加到其中。像这样:

var views = [];

for( var i = 0 ; i < views.length ; ++i ){
    /* where <views[i]> is a globally defined variable the name of the array val */
    views[i] = require( 'ui/common_new/' + views[i] );
    Ti.include( 'events/'+views[i]+'.js' );
}
var视图=[];
对于(变量i=0;i

或do window.variable要从任何范围定义全局变量

可以编写一个通用函数,在指定容器内创建视图:

function registerViews(views, container)
{
    views.forEach(function(view) {
        container[view] = require('ui/common_new/' + view);
        Ti.include('events/' + view + '.js');
    });
}

var views = [
    'AboutView',
    'FindView',
];
var test = {};

registerViews(views, test);

var x = new test.FindView();
然后使用
窗口调用它,如果需要:

registerViews(views, window);

var x = new FindView();
或其他容器:

function registerViews(views, container)
{
    views.forEach(function(view) {
        container[view] = require('ui/common_new/' + view);
        Ti.include('events/' + view + '.js');
    });
}

var views = [
    'AboutView',
    'FindView',
];
var test = {};

registerViews(views, test);

var x = new test.FindView();

如果你想用JS定义全局PHP变量,你就不能这么做。。。如果要在JS中定义全局变量,可以将其附加到全局窗口对象。如果你不使用严格模式,你可以不用声明就直接使用它,它会自动声明为全局模式。当然,您可以尝试使用POST将全局变量发送到下一个PHP脚本。。。这项管理有效。对不起,我只是用php来说明我想在js中实现什么。嘿,对不起,我应该进一步解释。。请参阅编辑的postperfect!对于我可以使用窗口的浏览器,谢谢,我已经忘记了!