29

调用一个 JS 函数

alertStatement()

功能定义

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

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

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

我使用以下 javascript 代码让它工作。

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

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

4

1 回答 1

62

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

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

有些人喜欢像这样使用 typeof:

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
    }
}
于 2012-07-12T22:10:13.450 回答