Pergunta

Exemplo de trabalho com var global:

var example_var = 'global var example';

var x = function(){
    var var_name = 'example_var';
    alert('Global var value is: ' + window[var_name]);
}

Como posso fazer a mesma coisa com uma variável local?Assim (exemplo não funcional):

var x = function(){
    var example_var = 'Local var example';
    var var_name = 'example_var';
    alert('Local var value is: ' + window[var_name]);
}
Foi útil?

Solução

Você não quer usar eval; Um objeto escopo localmente pode ser sua melhor opção:

var x = function(){
    var self = {};
    self.example_var = 'Local var example';

    var var_name = 'example_var';

    alert('Local var value is: ' + self[var_name]);
}

Outras dicas

Se não tiver outro jeito, você pode tentar eval isto

var x = function(){
    var example_var = 'Local var example';
    var var_name = 'example_var';
    alert('Local var value is: ' + eval(var_name));
}

Adicione a URL do site do SharePoint onde o arquivo do Excel reside à zona confiável no Internet Explorer (opções da Internet).Isso precisa ser feito na estação de trabalho do usuário B.

Verifique se outras configurações de segurança semelhantes, como políticas de firewall, antivírus, etc.

No momento, existem duas soluções para esse problema.
1. Eval (), mas eu realmente não gosto de usar o mal ()
2. Podemos alterar a declaração variável de var para isso:

var x = function(){
    this.example_var = 'this.var example';
    this.var_name = 'example_var';
    alert('Local variable value is: ' + this[var_name]);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top