Indique que JAVA = script JAVA. Pour le moment, j'ai également ajouté un commentaire sérieux à la fin. Puisqu'il y a eu des erreurs, j'ai également ajouté des excuses à la fin.
Collez le même code deux fois.
/*
<script>
var System = {out: {println: function(e){console.log(e);document.getElementsByTagName('body')[0].innerHTML=e;}}};
window.onload = function() {
eval(document.getElementById('code').innerHTML.replace(/[*]/g, '/').replace(/(public|static|void|String\[\] args)/g, ''));
}
</script>
<div id="code">
*/
class Main {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
/*
new Main().main();
</div>
*/
/*
<script>
var System = {out: {println: function(e){console.log(e);document.getElementsByTagName('body')[0].innerHTML=e;}}};
window.onload = function() {
eval(document.getElementById('code').innerHTML.replace(/[*]/g, '/').replace(/(public|static|void|String\[\] args)/g, ''));
}
</script>
<div id="code">
*/
class Main {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
/*
new Main().main();
</div>
*/
Pour être honnête, il peut être exécuté en le collant sur un site appelé paiza. Bouge toi! Bonjour le monde! Hou la la!
Enregistrez le code ci-dessus sous ** html **, double-cliquez dessus, etc. pour l'ouvrir dans un navigateur approprié. L'environnement vérifié était chrome. Bonjour le monde! Hou la la!
Peut-être que certains écrans de navigateur ont des chaînes étranges, mais le vrai homme s'en fiche. Si vous utilisez certains navigateurs, jetez un œil aux outils de développement. Bonjour le monde! Hou la la!
Pour un vrai homme, il va de soi que JAVA = script JAVA. Il y a des choses comme les scripts JAVA et JAVA qui sont différents, mais cela ne fonctionne pas dans la nature sauvage du Mexique. Celui qui ne comprend pas c'est bien au début, mais finalement il s'effondre dans le vent du Mexique qui souffle dans la section des commentaires, se réconforte avec Babe qu'il a rencontré au bar, se saoule avec les plaisirs du moment, donne naissance à un enfant, et dit: «Rien d'intéressant. C'était une vie sans épée », murmura-t-il au bar ... et finalement il mourut de vieillesse. LA FIN DU MEXIQUE .... Mais si vous avez toujours un véritable esprit pionnier, c'est une autre histoire. Il n'est pas trop tard maintenant. Faites JAVA = script JAVA.
Java et JavaScript sont différents. Je suis désolé. Pourquoi certaines personnes prétendent-elles qu'elles sont différentes mais identiques? Quant au fond https://qiita.com/pik/items/1c95d69debee4aedffea Est détaillé.
Java et JavaScript sont des langages similaires car le format des commentaires est dérivé de C, mais d'un autre côté, le comportement des mots réservés est différent. En particulier, la manipulation lors du placement de jetons uniquement dans des espaces est médiocre. Donc, j'ai pensé qu'il serait impossible d'écrire du code qui fonctionnerait dans les deux sens d'une manière simple, alors j'ai commencé à faire quelque chose de mal.
Tout d'abord, en utilisant HTML, nous créons une zone où les commentaires sont faits en Java mais pas en JS. Dans le monde Java, cela vous permet de traiter tout le code JavaScript comme des commentaires. Comme Java n'a pas de macros, il est un peu difficile de réécrire dynamiquement le code au moment de l'exécution, donc à l'exception des commentaires, cela devrait être du code normal pour Java.
Comme mentionné ci-dessus, il y a beaucoup de mots réservés qui gênent de manière naïve, alors réécrivez le code. La clé est d'évaluer et de remplacer.
eval
eval est quelque chose qui ne doit pas être fait en termes de performances ou de sécurité, et évalue une chaîne de caractères comme du code JavaScript.
replace
Puisque la séparation entre le mot réservé et le commentaire est un obstacle, remplacez-le par une expression régulière. À part les mots réservés, certains d'entre eux sont gênants, je vais donc les effacer.
En fait, il n'est pas impossible de mettre php dans ce code, par exemple, mais j'ai pensé que ce serait un peu ennuyeux de ne sortir que Hello, world!
Je copiais et la source Java était obsolète. fixé. Je suis désolé.
Il était bon de remplacer une fois comme suit. Je suis désolé.
édition révisée
/*
<script>
var System = {out: {println: function(e){console.log(e);document.getElementsByTagName('body')[0].innerHTML=e;}}};
window.onload = function() {
eval(document.getElementById('code').innerHTML.replace(/[*]/g, '/'));
}
</script>
<div id="code">
*/
class Main {
/**/ public static void
main(
/**/ String[] args
) {
System.out.println("Hello, world!");
}
}
/*
new Main().main();
</div>
*/
C'est tout!
Recommended Posts