javascript函数没有参数

时间:2013-07-18 14:55:44

标签: javascript jquery html

这个问题可能比我意识到的要复杂得多。

当页面加载时,它会检查cookie(usercookie)。如果存在,则调用外部.js文件中的函数。此函数位于jquery文件中并执行三项操作。它隐藏了东西,将变量(userloggedin)设置为true,并向用户显示欢迎消息。但是,它的表现很奇怪。为了使函数起作用,我必须先用“new”来定义它,然后再像它的对象一样。如果我不这样做,它根本不起作用。但如果我使用它,它拒绝接受任何争论。看一看。

请记住,它位于$(文档).ready(function(){}

userlogged = new function($name) 
 {
    userloggedin = true;
    $('.socialicons').hide();
    $('#signup').hide();
    $('#login').hide();
     document.getElementById('cookieelement').innerHTML = "Welcome back, " + $name + "!";
}

以下是我如何从主文档调用该函数。

<script type="text/javascript" id="cookiescript">
//checks for the usercookie and gets the value as well
var query = true;
if (query === true) 
{

cookievalue = 
"Seth";
userlogged(cookievalue);
}

</script>

这些代码中的一些是从php查询返回到mysql,但我知道代码工作正常。

所以我的问题是,如何在js文件中创建这个通用函数,我可以在用户以某种方式登录时调用它(例如,检测到cookie,表单条目)?

2 个答案:

答案 0 :(得分:3)

你必须在声明部分声明一个参数 function functionname(parameter)

答案 1 :(得分:1)

您需要更改方法签名以接受参数

userlogged = new function($name)
 {
    userloggedin = true;
    $('.socialicons').hide();
    $('#signup').hide();
    $('#login').hide();
     document.getElementById('cookieelement').innerHTML = "Welcome back, " + $name + "!";
}