Melhor resposta
Bem, estou surpreso que ninguém tenha mencionado isso, mas uma maneira muito mais simples é através de um pacote que você pode facilmente obter e instalar via github
laracasts / PHP-Vars-To-Js-Transformer
Usado em vários projetos sem problemas e, embora sim, você precisa vincular tudo junto se você não estiver usando uma estrutura como laravel etc o que é? você pode usar isso com o vanilla PHP sem qualquer framework etc. também!
Resposta
Eu quase sempre passo estruturas de dados complexas, que podem ser “JSONed”, então…
var data = ;
...
Você também pode passar valores simples convertendo-os em valores Javascript:
var boolvar = ;
var strvar = "";
var numval = ;
Isso é para passagem de valores em uma única tentativa. Para troca dinâmica de dados, use Ajax.