view core-javascript/javascript-exercises/scope-exercises.js @ 191:74fc8108fef2 javascript-exercises

$ python py/remove_answers.py
author jf3243
date Mon, 21 Nov 2011 16:50:01 +0000
parents
children
line wrap: on
line source

var something;

TEST('read scope', function()
{
    var a;
    a = 3;

    // 1
    var fn_1 = function(a){
        return a;
    };

    assert( fn_1(42) === something );

    // 2
    var fn_2 = function(b){
        return a;
    };

    assert( fn_2(42) === something );

    // 3
    var fn_3 = function(b){
        var a = b - 10;
        return a;
    };

    assert( fn_3(42) === something );
});


TEST('assign scope', function()
{
    var a;

    // 1
    var fn_1 = function(a){
        a = 5;
    };

    a = 3;
    fn_1(42);
    assert( a === something );

    // 2
    var fn_2 = function(b){
        a = 5;
    };

    a = 3;
    fn_2(42);
    assert( a === something );

    // 3
    var fn_3 = function(b){
        var a = b;
    };

    a = 3;
    fn_3(42);
    assert( a === something );

    // 4
    var fn_4 = function(b){
        a = b;
    };

    a = 3;
    fn_4(42);
    assert( a === something );
});


TEST('function body', function()
{
    var a;
    var b;

    var fn_1 = function(c){
        // Please write your answer here.
    };

    a = 3;
    b = fn_1(5);
    assert( a === 5);
    assert( b === 3 * 5 );

});