Dans un langage informatique, tant qu'il existe trois types de logique, de logique d'exécution séquentielle, de logique de branche et de logique de boucle, la langue peut atteindre l'état de Turing-complete.
Toy-JS sera basé sur notre propre sémantique personnalisée dans la
Language.md.Vous devez comprendre la définition lexicale du langage informatique avant de pouvoir comprendre le programme. Vous pouvez également utiliser
Language.mdpour vous aider à obtenir une meilleure compréhension basée sur la grammaire de grammaire MDN - Lexical.
Astuce: vous devez tester en adhérant au contenu du bloc de code, sinon des erreurs inattendues se produiront. Ces bogues sont souvent des fonctionnalités qui ne sont pas actuellement implémentées. Bien sûr, vous pouvez essayer de l'atteindre.
Vous pouvez écrire le code suivant dans TextArea et afficher le résultat après exécution dans la console.
// and &&
false && 1 ;
undefined && 1 ;
"" && 1 ;
0 && 1 ;
1 && 0 ;
// or ||
3 || 1 ;
undefined || 1 ;
// 略...var a; a = 1; a;o = { num: 1 }; o.num; // +
a = 6 ;
a = a + 2 ;
a ;
// -
a = 6 ;
a = a - 2 ;
a ;
// *
a = 6 ;
a = a * 2 ;
a ;
// /
a = 6 ;
a = a / 2 ;
a ; a = 1 ;
if ( a ) a = 2 ;
// or
if ( a ) {
a = 2 ;
}
a ; a = 10 ;
while ( a )
a = a - 1 ;
// or
while ( a ) {
a = a - 1 ;
}
// or
while ( a ) {
a = a - 1 ;
continue ; // or break;
a = a - 100 ;
}
a ; {
let a ;
a = 1 ;
{
let b ;
a = a + 1 ;
b = 10 ;
{
b = b / 2 ;
}
}
}
// 此时无法在外部访问 a 和 b
// or
{
let a ;
a = 1 ;
{
let a ;
a = 100 ;
}
a ; // 1
} // log(); method is equivalent to console.log();
let x ;
x = 1 ;
function a ( ) {
log ( x ) ;
}
{
let x ;
x = 2 ;
a ( ) ;
}
// or
log ( 1 , 2 , 3 ) ;