【问题标题】:pass parameter in function在函数中传递参数
【发布时间】:2012-10-11 05:58:16
【问题描述】:

我想通过 javascript 函数传递字符串和整数参数,但整数作为字符串传递。

变量attachfile是一个字符串。

var upload_number = 1;

input.setAttribute("onClick", "removeBtn(attachfile+ upload_number)");

【问题讨论】:

  • 用户 parseInt javascript 函数w3schools.com/jsref/jsref_parseint.asp
  • remove.setAttribute("onClick", removeBtn('parseInt(upload_number)')');它也没有做我在这段代码中做错了什么?
  • 您评论中的代码引号不匹配,因此根本不起作用。它还在parseInt(...) 周围加上引号,这意味着它传递一个带有实际字母p、a、r 等的字符串,它不会调用parseInt() 函数。如果您只想将数字作为不需要parseInt() 的唯一参数传递,只需说remove.setAttribute("onClick", "removeBtn(upload_number)");
  • ooooohthanx,我将如何再次为你的努力投票支持你的评论和thanx

标签: javascript function parameter-passing


【解决方案1】:

如果您显示 removeBtn() 函数的声明会有所帮助,但问题似乎是您没有将两个参数传递给函数,而是传递了一个参数,该参数将 attachfile 的值与upload_number - 当你将一个字符串与一个数字连接时,结果就是一个字符串。

您需要单独传递参数,即,而不是:

removeBtn(attachfile+ upload_number)

用途:

removeBtn(attachfile, upload_number)

那么removeBtn()的声明应该是:

function removeBtn(theFile, theNumber) { // name the parameters however you like

(顺便说一句,将onclick 属性设置为包含函数调用的字符串的方式也可能会导致一些问题,因为(除其他问题外)该函数和参数需要是全局变量。但这 - 可能 - 超出了这个问题的范围,至少除非您更新它以显示更多代码。)

【讨论】:

  • sry,你是对的,我想传递一个参数一个与整数连接的字符串
  • 对不起,我不明白你要做什么。如果您想要一个与整数连接的字符串作为单个参数传递,那么显然该参数不会以整数形式结束,那么问题是什么?也许您应该显示您的 removeBtn() 函数,以便我们可以看到它如何尝试使用参数...
【解决方案2】:

Javascript 有一个parseInt() 函数。 parseInt() 函数解析一个字符串并返回一个整数。

radix参数用于指定使用哪种数字系统,例如基数为16(十六进制)表示字符串中的数字应从十六进制数解析为十进制数。

如果 radix 参数被省略,JavaScript 假设如下:

  • 如果字符串以“0x”开头,则基数为 16(十六进制)如果
  • 字符串以“0”开头,基数为 8(八进制)。此功能是
  • 已弃用 如果字符串以任何其他值开头,则基数为 10 (十进制)

语法:

parseInt(string, radix)

(盗自here

【讨论】:

    【解决方案3】:

    您可以使用 jquery 将其转换为数字,也可以使用 parseInt(your_variable,10)

    10 这里是一个基数

    编辑

    我的意思是 jquery 来验证它是否是一个数字

    【讨论】:

    • 你不需要像 jquery 这样的第三方库来做 parseInt
    • 如何使用jQuery将字符串转换为数字? (你为什么要这样做?)
    • remove.setAttribute("onClick", removeBtn('parseInt(upload_number)')');它也没有做我在这段代码中做错了什么?
    • 对不起,我的意思是你可以验证!不转换!使用 jquery 的验证
    猜你喜欢
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 2021-05-01
    • 2014-02-27
    • 2018-07-21
    • 1970-01-01
    相关资源
    最近更新 更多