//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- function write(v) { WScript.Echo(v + ""); } function Test1() { write("Declaration Test1") }; Test1(); var Result1 = function Test1() { write("Expression Test1") }; Test1(); Result1(); var Result2, Test2; Result2 = function Test2(n) { if (n < 0) { write("Test2: Less 0"); } else { write("Test2: Greater 0"); Test2(-n); } } Test2 = function Test2(n) { write("In second Test2"); }; Result2(2); var fact, factorial; fact = function factorial(n) { return n<=1?1:n*factorial(n-1) }; factorial = function factorial(n) { return -1 }; write("Test3 factorial : " + fact (3)); function Test4() { write("first declaration of Test4") }; Test4(); function Test4() { write("Second declaration of Test4") }; Test4(); function Test5(n) { return n<=1?1:n*Test5(n-1) }; var Result5 = Test5; Test5 = function (n) { return -1 }; write("Test5 factorial : " + Result5(3)); var Test6 = function Test6() { write(Test6) }; var Result6 = Test6; Test6 = "Outer Binding"; Result6();