相关疑难解决方法(0)

检查变量是否为函数类型

假设我有任何变量,定义如下:

var a = function() {/* Statements */};
Run Code Online (Sandbox Code Playgroud)

我想要一个函数来检查变量的类型是否像函数一样.即:

function foo(v) {if (v is function type?) {/* do something */}};
foo(a);
Run Code Online (Sandbox Code Playgroud)

如何以上面定义的方式检查变量a是否类型Function

javascript

826
推荐指数
14
解决办法
55万
查看次数

JavaScript中的可选参数

为可选参数分配默认值的好方法是什么?

背景

我正在玩JavaScript中的可选参数,以及如果未指定参数则分配默认值的想法.我的方法接受两个参数,后者我认为是可选的,如果未指定则默认为false.我的方法看起来像这样......

// selects the item, appropriately updating any siblings
// item to select [, toggle on / off]
this.selectItem = function(item, toggle)
{
    toggle = toggle && typeof toggle === 'boolean';
    if (toggle)
    {
       // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

测试

此jsFiddle上运行一些测试后,使用以下主体进行默认值分配:

function checkParamIsBoolean(param)
{
    param = param && typeof param === 'boolean';
}

checkParamIsBoolean('me'); // boolean
checkParamIsBoolean([]); // boolean
checkParamIsBoolean(true); // boolean
checkParamIsBoolean(false); // boolean
checkParamIsBoolean(1 == 1); // boolean
checkParamIsBoolean(1); // …
Run Code Online (Sandbox Code Playgroud)

javascript

27
推荐指数
2
解决办法
2万
查看次数

如何为JavaScript函数的参数设置默认值并使用较少的参数调用它?

我有一个功能

function test(name)
{

}
Run Code Online (Sandbox Code Playgroud)

我叫它 test("kanishka");

在一种情况下,我想将两个参数(nameage)传递给此函数:

test("kanishka",27);
Run Code Online (Sandbox Code Playgroud)

在PHP中,我可以通过将默认值设置为age:

test(name , age = NULL)
Run Code Online (Sandbox Code Playgroud)

在JavaScript中有什么方法可以做到这一点吗?

我试过了

test(name , age = NULL) 
Run Code Online (Sandbox Code Playgroud)

但它会给出错误.

我可以宣布2个功能

test(name) and  test(name , age = NULL)
Run Code Online (Sandbox Code Playgroud)

但它重复了代码.

或者我可以更改我之前的函数调用,它将一个参数带到两个参数,给出一个默认值age:

test("kanishka" , 0)
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我必须找到所有函数调用并更改它们.

javascript

2
推荐指数
1
解决办法
6339
查看次数

标签 统计

javascript ×3