Krishna Raj K Krishna Raj K - 2 months ago 11
Javascript Question

How can I access JavaScript function argument outside the function?

Can I access the function arguments outside the function?

Here is my code:

function viewmessage(username,name) {
//alert(name + " : " + username);
$('#heading').html(name);
$.get('/notification/viewmessage', {user:username}, function(data) {
$('#messagesfrom').html(data);
$('#newmessage').slideDown(200);
});
}
alert(name + " : " + username);

Answer

You can't, unless you declare the variable outside the function.

You can only use the same variable names in the global scope:

function viewmessage(username, name){
    window.username = username;
    window.name = name;
}
alert(window.name + " : " + window.username ); // "undefined : undefined"
alert(name+" : "+username); // ReferenceError: 'name' not defined

In a local scope, you have to use variable names which are re-declared inside the function:

var username2, name2;
function viewmessage(username, name){
    username2 = username; // No "var"!!
    name2 = name;
}
alert(username2 + " : " + name2); // "undefined : undefined"
viewmessage('test', 'test2');
alert(username2 + " : " + name2); // "test : test2"
Comments