Dalam bahasa komputer, selama ada tiga jenis logika, logika eksekusi berurutan, logika cabang dan logika loop, bahasa dapat mencapai keadaan Turing-Complete.
Toy-Js akan didasarkan pada semantik kustom kita sendiri di
Language.md.Anda perlu memahami definisi leksikal bahasa komputer sebelum Anda dapat memahami program. Anda juga dapat menggunakan
Language.mduntuk membantu Anda mendapatkan pemahaman yang lebih baik berdasarkan tata bahasa MDN - Lexical Grammar.
Kiat: Anda harus menguji dengan mematuhi konten blok kode, jika tidak kesalahan yang tidak terduga akan terjadi. Bug ini sering merupakan fitur yang saat ini tidak diimplementasikan. Tentu saja Anda dapat mencoba mencapainya.
Anda dapat menulis kode berikut di TextArea dan melihat hasilnya setelah eksekusi di konsol.
// 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 ) ;