相关疑难解决方法(0)

有没有更好的方法在JavaScript中执行可选的函数参数?

我总是在JavaScript中处理可选参数,如下所示:

function myFunc(requiredArg, optionalArg){
  optionalArg = optionalArg || 'defaultValue';

  // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

是否有任何使用||这种情况会失败的情况?

javascript arguments function

805
推荐指数
11
解决办法
39万
查看次数

多个箭头函数在javascript中意味着什么?

我一直在阅读一堆react代码,我看到这样的东西,我不明白:

handleChange = field => e => {
  e.preventDefault();
  /// Do something here
}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 arrow-functions

401
推荐指数
6
解决办法
7万
查看次数

JavaScript函数中的默认参数值

可能重复:
如何为javascript函数创建参数的默认值

在PHP中:

function func($a = 10, $b = 20){
  // if func() is called with no arguments $a will be 10 and $ b  will be 20
}
Run Code Online (Sandbox Code Playgroud)

你怎么能用JavaScript做到这一点?

如果我尝试在函数参数中赋值,则会出错

缺少)正式参数后

javascript arguments function

222
推荐指数
4
解决办法
21万
查看次数

如何在Javascript中设置可选参数的默认值?

我正在编写带有可选参数的Javascript函数,我想为可选参数分配一个默认值.如何为其指定默认值?

我以为会是这样,但它不起作用:

function(nodeBox,str = "hai")
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

javascript

81
推荐指数
3
解决办法
9万
查看次数

ExecJS :: ProgramError:运行rake资产时出现意外的令牌punc«(»,预期的punc«:»生产时的预编译

部署我的Rails应用程序时,我收到以下错误:

rake aborted!
   ExecJS::ProgramError: Unexpected token punc «(», expected punc «:» (line: 15, col: 14, pos: 265)

   Error
   at new JS_Parse_Error (/tmp/execjs20150524-4411-1p45n63js:2359:10623)
   at js_error (/tmp/execjs20150524-4411-1p45n63js:2359:10842)
   at croak (/tmp/execjs20150524-4411-1p45n63js:2359:19086)
   at token_error (/tmp/execjs20150524-4411-1p45n63js:2359:19223)
   at expect_token (/tmp/execjs20150524-4411-1p45n63js:2359:19446)
   at expect (/tmp/execjs20150524-4411-1p45n63js:2359:19584)
   at /tmp/execjs20150524-4411-1p45n63js:2359:28513
   at /tmp/execjs20150524-4411-1p45n63js:2359:19957
   at expr_atom (/tmp/execjs20150524-4411-1p45n63js:2359:27269)
   at maybe_unary (/tmp/execjs20150524-4411-1p45n63js:2359:30019)new JS_Parse_Error ((execjs):2359:10623)
   js_error ((execjs):2359:10842)
   croak ((execjs):2359:19086)
   token_error ((execjs):2359:19223)
   expect_token ((execjs):2359:19446)
   expect ((execjs):2359:19584)
   (execjs):2359:28513
   (execjs):2359:19957
   expr_atom ((execjs):2359:27269)
   maybe_unary ((execjs):2359:30019)
Run Code Online (Sandbox Code Playgroud)

有问题的文件是有效的,它适用于localhost.我也试过rake assests:precompile在localhost上运行,一切都通过了.最后,我试图从文件中删除内容,git push和redeploy - 仍然得到相同的错误.只有完全删除文件并重新部署帮助.

会欣赏任何想法.

javascript git deployment ruby-on-rails execjs

62
推荐指数
7
解决办法
3万
查看次数

Javascript:使用变量,或者如果未定义,则使用默认字符串

我有这个代码:

var phrase = function (variable, defaultPhrase) {
    if (typeof variable === "undefined") {
        return defaultPhrase;
    }
    else {
        return variable;
    }
}
Run Code Online (Sandbox Code Playgroud)

它被称为这样:

Ext.Msg.show({title: phrase(js_shutdown,'Shutdown'), //...
Run Code Online (Sandbox Code Playgroud)

我想要做的是在未定义变量时使用默认短语,但是当我将未定义的变量传递给时phrase(),JS会抛出未定义的变量错误.我该如何解决?还有其他想法吗?

javascript variables function undefined

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

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万
查看次数

node.js中的默认参数

如何在node.js中设置默认参数?

例如,假设我有一个通常看起来像这样的函数:

function(anInt, aString, cb, aBool=true){
   if(bool){...;}else{...;}
   cb();
}
Run Code Online (Sandbox Code Playgroud)

要调用它看起来像这样:

function(1, 'no', function(){
  ...
}, false);
Run Code Online (Sandbox Code Playgroud)

要么:

function(2, 'yes', function(){
  ...
});
Run Code Online (Sandbox Code Playgroud)

但是,似乎node.js不支持这种方式的默认参数.上面的最佳方法是什么?

parameters default callback node.js

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

获取函数的默认值?

有没有办法在JavaScript中检索函数的默认参数值?

function foo(x = 5) {
    // things I do not control
}
Run Code Online (Sandbox Code Playgroud)

有没有办法获得x这里的默认值?最理想的是,像:

getDefaultValues(foo); // {"x": 5}
Run Code Online (Sandbox Code Playgroud)

请注意,toString该函数不起作用,因为它会在非常量的默认值上中断.

javascript default-arguments ecmascript-6

15
推荐指数
2
解决办法
743
查看次数

这是什么沟通:my_var = my_var || 69

我在一个Javascript示例中看到了这一点

my_var = my_var || 69
Run Code Online (Sandbox Code Playgroud)

我认为这意味着检查my_var是否存在,如果没有将my_var设置为69.这是这种情况吗?有没有关于此的文档,很难表示为google/SO搜索,是否有人指向我的文档方向或重复QA?

(这个例子没有使用69,那只是我的粗鲁)

javascript

10
推荐指数
1
解决办法
686
查看次数