Se você estiver usando drupal_add_js()
sua função de criação de formulários, está anexando JavaScript a uma página, e é isso.
Se você estiver usando $form['#attached']['js']
, outros módulos poderão interagir, testar e alterá-lo conforme necessário, usando hook_form_alter()
. É assim que você deve escolher sempre que seu JavaScript estiver funcionalmente relacionado a um formulário específico.
Fora isso, eles são funcionalmente iguais.
Observe que geralmente é melhor usar bibliotecas JavaScript do que arquivos JavaScript simples, pois eles permitem declarar versões, manter relações entre JS e CSS, gerenciar dependências, bem, geralmente são muito mais poderosas.
Obviamente, você deve usar $form['#attached']['library']
quando sua Biblioteca JavaScript estiver funcionalmente relacionada a um formulário específico e usar apenas drupal_add_library()
quando nenhum formulário estiver relacionado à função da biblioteca.
drupal_add_js()
em um arquivo de modelo, ele vai quebrar as coisas quando o cache / agregação é ligado