相关疑难解决方法(0)

如何在JavaScript中将传递给函数的变量设置为null

假设我在JavaScript中有一个函数:

function something (variable) {
    console.log(variable);
}
Run Code Online (Sandbox Code Playgroud)

如果没有传递变量,如何设置,默认为null?

javascript

8
推荐指数
1
解决办法
1万
查看次数

使用try catch对象文字

在回调中,我构建了一个我构建的对象,以便在我的Express应用程序中发送:

this.response = {
      owner: data.actions[1].causes[0].shortDescription,
      build_version: data.actions[0].parameters[0].value,
      branch_to_merge: data.actions[0].parameters[1].value,
      jira_tickets: data.actions[0].parameters[2].value,
      build_description: data.actions[0].parameters[3].value,
      outcome: data.result
    };
Run Code Online (Sandbox Code Playgroud)

如果我获得的响应与我习惯的不同,我会得到一个致命cannot find 'property' of undefined错误,导致我的服务器崩溃:data.actions[1].causes[0].shortDescription.

我想知道该怎么办,我想我可以把它放在一个try catch但似乎错了.

什么被认为是解决这个问题的好方法?

javascript node.js express

6
推荐指数
1
解决办法
165
查看次数

JavaScript 检查 null 值作为 if 块的一部分?

是否可以作为 if 块的一部分检查空值,而不需要对null和进行一对显式检查undefined

例如,不想这样做:

if(key === null || key === undefined) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为它还包含其他虚假值,例如零和空数组。

if(!key)
Run Code Online (Sandbox Code Playgroud)

javascript

6
推荐指数
1
解决办法
1770
查看次数

检查变量是否未定义

我已经尝试过这两个:

如果富
  如果 foo[0] == bar.baz[0]
    输入.form-control-成功(类型=“文本”)
  别的
    输入.form-control-danger(类型=“文本”)
别的
  输入(类型=“文本”)
除非 foo === 未定义
  如果 foo[0] == bar.baz[0]
    输入.form-control-成功(类型=“文本”)
  别的
    输入.form-control-danger(类型=“文本”)
别的
  输入(类型=“文本”)

但在这两种情况下我都会收到错误

无法读取未定义的属性“0”

在线上if foo[0] == bar.baz[0]


情况是有时foo会传递给 pug,有时则不会。

foo当它被传递时是一个数组,如果它被传递,我需要根据它的第 x个元素是否与另一个数组的第 x元素相同来执行一些操作。

html javascript pug

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

Angular 6 HttpClient仅在其不为null时设置参数日期

我正在尝试将参数传递给URL。为此,我正在使用Angular HttpParams。仅当date不为null或未定义时,如何设置日期参数?

码:

let params = new HttpParams()
   .set('Id', Id)
   .set('name', name)

if (startDate !== null) {
    params.set('startDate', startDate.toDateString());
}

if (endDate !== null) {
    params.set('endDate', endDate.toDateString());
}
Run Code Online (Sandbox Code Playgroud)

typescript angular angular6

5
推荐指数
1
解决办法
2348
查看次数

jQuery条件链接

假设我有以下jQuery代码.它工作得很好,但是我需要包含.after($('<div />'))唯一的if var insertAfter等于true.有一种优雅的jQuery方式吗?

$('#whatEver')
    .parent()
    .show()
    .width(123)
    .addClass('bebo')
    .before($('<div />'))
    .after($('<div />'))
    .parent()
    .addClass('bla');
Run Code Online (Sandbox Code Playgroud)

jquery

4
推荐指数
1
解决办法
2068
查看次数

c#中最短的空值检查

c#中有没有更短的方法来写这个:

if(myobject!=null){

}
Run Code Online (Sandbox Code Playgroud)

JavaScript中我们可以这样做:

if(myobject){

}
Run Code Online (Sandbox Code Playgroud)

免责声明:我知道这在JavaScript中也会匹配'true'.这只能用于应该是特定类型对象的变量.

我发现了一些类似的问题,但他们提出的问题略有不同:

C#检查空的最短路径,如果没有则分配另一个值

检查对象是否为空的最佳和最快方法

如何确定变量是"未定义"还是"空"?

javascript c# null

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

检测Javascript变量是否确实未定义

我们如何区分var foo;var foo=undefined;

typeof foo将返回"undefined"并foo in window返回true;

javascript

3
推荐指数
1
解决办法
256
查看次数

使用 jQuery 检查值是否为 null

我试图检查变量的值是否为空,但它不起作用。我还必须停止脚本并且不要插入行

网页

<input type="text" name="for_intitule" id="form_intitule">
Run Code Online (Sandbox Code Playgroud)

jQuery

var form_intitule = $('input[name=form_intitule]').val();

if(form_intitule == null){
  alert('fill the blank');
  return false;
}
Run Code Online (Sandbox Code Playgroud)

更新 :

$('#insertForm').on('click', function(){
  var form_intitule = $('input[name=form_intitule]').val();

  if($('input[name=form_intitule]').val().trim().length == 0){
    alert('fill the blank');
  }
  $.ajax({
    type: "GET",
    url: "lib/function.php?insertForm="+insertForm+"&form_intitule="+form_intitule,
    dataType : "html",
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      alert(XMLHttpRequest + '--' + textStatus + '--' + errorThrown);
    },
    success:function(data){
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

jquery

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

检查null或undefined

虽然有JavaScript的语义差别nullundefined,很多时候他们可以被视为是相同的.检查值是null还是未定义的最佳方法是什么?


现在我正在做以下事情:

if (typeof value === "undefined" || value === null) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

这是非常冗长的.当然,我可以为此创建一个函数并在任何地方导入,但我希望有更好的方法来实现这一点.

另外,我知道

if (value == null) {
}
Run Code Online (Sandbox Code Playgroud)

将90%的时间完成工作,除非值为零......或者错误......或者一些可能导致模糊错误的隐含事物.

javascript node.js

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

为什么Visual Studio会在nullity-checked Javascript Object中警告我'null'

我真的不明白为什么Visual Studio在下面执行"ra.split('')"时给出了警告"限定符可以是'null'或'undefined'",即使在我进行了无效检查之后.我有这个代码:

var ra = data.RiskAnalysis;
if (typeof ra !== "undefined") {
    var ebwg = ra.split('');
}
Run Code Online (Sandbox Code Playgroud)

正如你可以在这个stackoverflow-post中读到的那样,'typeof ra'如果值为null,则会返回'object'.

这是一个错误吗?或者我的支票不够?

javascript visual-studio visual-studio-2012

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

为什么在将变量与undefined进行比较时会出现"变量未定义"错误?

我看了这个问题:

如何确定变量是"未定义"还是"空"?

但它没有帮助.

我有以下代码:

    if (_modeID != 8 && _modeID != 9)
        // do something
Run Code Online (Sandbox Code Playgroud)

_modeID 在一个单独的文件中定义并分配一个值.

我遇到了一个错误,由于某种原因,var _modeID = someIntVal;它永远不会执行,所以当if上面的语句运行时根本就没有_modeID.

我将它扩展为if (_modeID === null || _modeID === undefined || (_modeID != 8 && _modeID != 9)但仍会引发以下错误:

ReferenceError - Java脚本错误:'_modeID'未定义

我希望在这种情况下,第一个或第二个条件会评估为真,但显然不是.谁能解释我做错了什么?

var _modeID = undefined; if (_modeID === undefined) ...简单地if (_modeID === undefined) ...假设这两个片段是"完整"文件是不一样的?

javascript

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