如何在不需要参数时调用函数?什么是正确的方法

时间:2011-03-10 18:19:58

标签: javascript

这应该相当简单,但要确保......

function load_img(src, alt, el, other_src) {

// check if other_src exists, not null, defined, not empty, etc...

}

//call the function
load_img(src, alt, '#zoom-cover');

这是在不需要参数时调用函数的正确方法。
我应该写:

load_img(src, alt, '#zoom-cover', null);

load_img(src, alt, '#zoom-cover', '');

有像php这样的东西

load_img(src, alt, '#zoom-cover', other_src='default value');

和...如何在函数中检查other_src是否存在,是否已定义,具有有效值,是否为空或空字符串?

4 个答案:

答案 0 :(得分:0)

如果不需要,您可以省略最后一个参数。通过你给出的例子,那就是:

load_img(src, alt, '#zoom-cover');

关于你的第二个问题,你可以简单地做一些事情:

if(typeof other_src === 'undefined') {
    ...
}

JavaScript没有命名参数(“喜欢php”)。相反,您可以传入一个对象,例如:

load_img(src, alt, '#zoom-cover', {other_src: 'something'});

这是 jQuery Plugins 常用的技术。

答案 1 :(得分:0)

这很好

load_img(src, alt, '#zoom-cover');

如果您希望在未传递参数时使用默认值来表示other_src,请执行以下操作:

function load_img(src, alt, el, other_src) {
  if (!other_src) {
    other_src = "mydefaultvalue"
  }
}

或类似的东西,如果您希望默认值在未传递参数时表示other_src。

function load_img(src, alt, el, other_src) {
  if (typeof(other_src) === "undefined") {
    other_src = "mydefaultvalue"
  }
}

答案 2 :(得分:0)

只需省略额外的参数。

如果您想提供默认值,请使用

other_src = other_src || 'default value';

在你的函数的顶部,虽然如果原始值可能合法地“假”,这是不合适的,在这种情况下:

if (typeof other_src === 'undefined') {
    other_src = 'default value';
}

答案 3 :(得分:0)

在JS中,如果不传递参数,则局部变量将获得“未定义”类型。 所以你可以在没有所有参数的情况下调用函数。

load_img(src, alt, '#zoom-cover');