Pegar o elemento script que está sendo escrito

Em um script eu precisava pegar o elemento pai do script que estava escrevendo (parent do elemento script atual), surgiu uma dúvida então de como selecionar o script que eu estava escrevendo e é o que vou compartilhar neste post.

Como o javascript é executado em tempo de carregamento, o último elemento script será o que você está trabalhando, para pegar este elemento é só fazer o seguinte:

var scripts = document.getElementsByTagName( 'script' );
var thisScriptTag = scripts[ scripts.length - 1 ];

A explicação do código:

Primeiro pegamos todos os elementos script da página – como ela só foi carrega até o momento do código, na verdade pegamos todos os elementos script carregados até o momento. A segunda linha pega a última tag script carregada até o momento, que sempre será a que estamos trabalhando.

Com o elemento selecionado é só navegar no DOM da forma que você achar melhor!

Expressão Regular com variável no Javascript

Nesta sábado estava com um problema para fazer uma magia negra com NodeJS, precisava manipular um texto que seria publicado com código parecido com BBCode para identificar a posição de elementos (parecidos com widgets) que deveriam ser substituídos de acordo com seu tipo.

Para isso, precisava identificar o padrão [#tipo_id], como poderiam ser vários tipos de componentes (e como sempre o sistema pode crescer e novos tipos serem adicionados) a melhor forma de trabalhar com isso seria uma expressão regular com uma variável.

Antes eu tinha o seguinte:

var er = new RegExp(/\[#img_.*?\]/g);
var results = minhastring.match(er);

O que eu precisava era que o #img fosse uma variável para que esta rotina de busca e replace pudesse ser transformada em uma função parametrizada, o resultado final:

var er = new RegExp('\\['+ busca +'.*?\\]', 'g');

A sugestão do @knorrium em uma consultoria rápida pelo Twitter e sem saber exatamente o que eu precisava foi o uso do eval(), testei e funcionou, mas esta modo diferente de uso do new RegExp com dois parâmetros string que o @manuWell sugeriu ficou mais elegante. 

E você, como faria uma Regexp com variável no javascript?