En un lenguaje informático, siempre y cuando haya tres tipos de lógica, lógica de ejecución secuencial, lógica de rama y lógica de bucle, el lenguaje puede llegar al estado de Turing-Complete.
Toy-JS se basará en nuestra propia semántica personalizada en el
Language.md.Debe comprender la definición léxica del lenguaje informático antes de poder entender el programa. También puede usar
Language.mdpara ayudarlo a obtener una mejor comprensión basada en MDN - Gramática léxica.
Consejo: debe probar adhiriéndose al contenido del bloque de código, de lo contrario ocurrirán errores inesperados. Estos errores son a menudo características que actualmente no se implementan. Por supuesto que puedes intentar lograrlo.
Puede escribir el siguiente código en TextAREA y ver el resultado después de la ejecución en la consola.
// 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 ) ;