js函数怎样传值到函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js函数怎样传值到函数相关的知识,希望对你有一定的参考价值。

function mouseEvent(id,msg)
$(id).onfocus=function (msg)
font=this.name+'info';
showInfo(font,'请输入6-12个由数字和字母组成的帐号','#835345')

我想实现的是mouseEvent里面的msg参数,传到function 那个参数,然后showInfo调用,为什么不能这样,$(id).onfocus=showInfo(font,'这里是显示的信息','#000000')

你应该知道$(id).onfocus理应是一个function,而showInfo(font,'这里是显示的信息','#000000')是执行一个函数。如果这个函数执行之后,返回的不是一个函数,你说行不行? 参考技术A 可以在函数内直接使用,所以不用传参;
匿名函数注册事件是不能有参数的,可以想一下,事件触发时相当于执行了$(id).onfocus()是没有参数可传的 所以用匿名函数注册事件时是无参的
var tmp=function(msg);
tmp(msg);//这样是可以的!!!本回答被提问者采纳
参考技术B 以前对调用js函数的固有理解:
<input type="button" value="选择1" onclick="depQuery1('第一个参数','第二个参数')" />

function depQuery1(field1, field2,path)
alert(field1);
alert(field2);


要调用js函数depQuery1函数,就必须要传一个给定的值,像是上面的情况,其实不是这样的...也可以这样传值

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML> <HEAD> <TITLE> New Document </TITLE>
<script>
//这是一个js的函数
function depQuery(field1, field2, path)

alert(field1.value);
alert(field2.value);



function depQuery1(field1, field2,path)

alert(field1);
alert(field2);


</script>
</HEAD>
<BODY>
<input type="text" id="parentDepx" name="parentDepName" value="这是默认值" />
<input type="hidden" id="pdepIdx" name="dep.pdepId" value="这是隐藏域中的id值0121021" />

<!--
当单击下面的 选择 按钮时,会调用depQuery(pdepId,parentDep)函数
这里的pdepId是文本框的id,parentDep是隐藏域的id,会把对应的值传到depQuery函数中
-->
<input type="button" value="选择" onclick="depQuery(pdepIdx,parentDepx);" />
<input type="button" value="选择1" onclick="depQuery1('第一个参数','第二个参数')" />
</BODY>
</HTML>

从一个类传值到主类?

所以这是我的问题和我的方法。在Main类中,我有这样的代码来解析命令行输入。为了处理输入,它被传递到另一个类中。

我的问题是,我怎样才能将hashmap中的值传给main方法进行进一步处理,但只有在所有值都正确输入且没有遗漏的情况下才可以(应该由异常捕获)?

public static void main(String[] args) {
     try {
            CommandLineParser commandLineParser = new CommandLineParser(args);  
}
    }

在另一个类中,我有CommanLineParser。

public class CommandLineParser {

public CommandLineParser(String[] args) {
    Map<String, String> hash_map = new HashMap<>();

}

先谢谢您了!

答案

你的主方法已经在你的类范围内有了变量,你可以像这样访问它们。

String s_mode = commandLineParser.getMode();

这些变量要么是空的,要么是你期望的值。

可以 在你的类里面有一个布尔值来定义所有的事情是否按照你想要的方式发生了,并且先返回这个值,以方便你的操作,或者是代替null检查所有的事情。

**编辑 - 但我想在类创建后,做一个类似于......的方法,并作为布尔值的一部分返回成功。

public boolean processArgs(String args)) 

的方法,并将成功作为布尔方法的一部分返回。

所以会这样做。

CommandLineParser commandLineParser = new CommandLineParser();
boolean success = commandLineParser.process(args);

if (success)
{
    //get stuff
}

***你只需要一组结果吗?因为你可以把处理器设置为一个worker类,然后把你的对象正确建模,然后有一个你的对象列表,你可以在每个实例中调用这些方法。

你还必须在你的方法中的某个点上实际设置它们。

mode = hash_map.get("r");

而不是:

String mode = hash_map.get("r");

****editso你在他们的时刻检查你在注释中要求的东西是。

if (!mode.equals("s") || mode.equals("sd") || mode.equals("v") || mode.equals("vd") || mode.equals("d"))

如果模式不是 "s"(!表示不是),而是sd或v或vd或d。

你是说你想。

String s_mode = hash_map.get("r");
if (s_mode.matches("s|sd|v|vd|d"))
{
    mode = s_mode; //or whatever you want to do with it
}

以上是关于js函数怎样传值到函数的主要内容,如果未能解决你的问题,请参考以下文章

js回调函数

js window.opener 子页面 父页面 传值

使用 Node.JS 从一个函数返回值到另一个函数

js传值到iframe中

js 函数的传值问题

两个jsp页面如何传值