语句和语句块

 语句和语句块是 TJS2 语法中非常重要的元素。

语句

 一个语句以 ; (分号) 结束。可以是表达式后直接加分号,也可以是 if 等控制语句后加分号。

例:
    a++;
    func1();
    return a+b;
    等等……

语句块

 语句块由多个语句组成,用{ }括起来表示。语句块中的语句按由上至下的顺序执行。

例:
    {
        a++;
        b++;
    }

    {
        var t=func1();
        func2(t);
        break;
    }


 语句块后不需要加 ; (分号)。

 此外,所有语句块均会创建变量的作用域。(译者:即在语句块中定义的变量仅在定义它的语句块中有效)

执行顺序

 在TJS里,在函数、类、属性之外的部分书写的语句将在脚本执行的时候被执行,函数、类、属性中的语句则在被调用的时候方会执行。

例:
    var a; // 立刻执行

    function test()
    {
        a+=10; // 被调用时才执行
    }

    a+=30; // 立刻执行


 更准确地说,类、函数、属性的定义在脚本执行的时候会先予以注册,之后,其他的脚本元素将按从头到尾的顺序执行,因此在同一个脚本块内,函数、类和属性可被后面的语句引用。

例:
    test(); // 即使是在下面才定义的函数,只要在同一个脚本块内声明的都可以引用

    function test()
    {
        inform("yah!");
    }


 在不同脚本块之间调用函数,只要在调用时,目标函数已经被读取,就是可行的。  此外,因为变量的声明是按照读取的顺序处理的,因而不能向后引用。

全局对象

 全局对象是特殊的对象,它们是在全局范围定义,有各自的变量、函数和属性的对象,可以使用 globle 关键字访问。