检查参数是否传递给Javascript函数

时间:2012-07-12 22:05:48

标签: javascript

调用JS函数

alertStatement()

功能定义

function alertStatement(link) {
    if (link) {
        alert('A');     
    }

    if (link!=null) {
        alert('B');     
    }   
}

这两个语句在带有Tomcat的Windows Env中都能正常工作,但它们都没有在生产中执行(Linux服务器)。有没有其他方法来比较变量使其工作?

我使用以下javascript代码工作。

function alertStatement(link) {
    if (link!==undefined){
        alert('A');     
    }
}

所以最后undefined对我有用,出于某种原因,null比较不起作用

1 个答案:

答案 0 :(得分:57)

要查看参数是否具有可用值,只需检查参数是否未定义。这有两个目的。它不仅检查是否传递了某些内容,还检查它是否具有可用值:

function alertStatement(link) {
    if (link !== undefined) {
        // argument passed and not undefined
    } else {
        // argument not passed or undefined
    }
}

有些人更喜欢使用这样的类型:

function alertStatement(link) {
    if (typeof link !== "undefined") {
        // argument passed and not undefined
    } else {
        // argument not passed or undefined
    }
}

null是一个特定值。如果没有通过,undefined就是它。

如果您只是想知道是否通过了任何内容并且不关心它的价值,可以使用arguments.length

function alertStatement(link) {
    if (arguments.length) {
        // argument passed
    } else {
        // argument not passed
    }
}