相关疑难解决方法(0)

检测未定义的对象属性

检查JavaScript中的对象属性是否未定义的最佳方法是什么?

javascript object undefined

2742
推荐指数
28
解决办法
112万
查看次数

如何在JavaScript中检查未定义的变量

我想检查变量是否已定义.例如,以下引发了未定义的错误

alert( x );
Run Code Online (Sandbox Code Playgroud)

我怎么能抓到这个错误?

javascript variables undefined

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

测试是否存在嵌套的JavaScript对象键

如果我有一个对象的引用:

var test = {};
Run Code Online (Sandbox Code Playgroud)

可能(但不是立即)有嵌套对象,如:

{level1: {level2: {level3: "level3"}}};
Run Code Online (Sandbox Code Playgroud)

在最深层嵌套的对象中测试密钥是否存在的最佳方法是什么?

alert(test.level1);收益率undefined,但alert(test.level1.level2.level3);失败了.

我现在正在做这样的事情:

if(test.level1 && test.level1.level2 && test.level1.level2.level3) {
    alert(test.level1.level2.level3);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法.

javascript nested properties object

616
推荐指数
19
解决办法
21万
查看次数

变量是否未定义

可能重复:
在JavaScript中检查"未定义"的最佳方法是什么?

如何查找变量是否未定义?

我目前有:

var page_name = $("#pageToEdit :selected").text();
var table_name = $("#pageToEdit :selected").val();
var optionResult = $("#pageToEditOptions :selected").val();

var string = "?z=z";
if ( page_name != 'undefined' ) { string += "&page_name=" + page_name; }
if ( table_name != 'undefined' ) { string += "&table_name=" + table_name; }
if ( optionResult != 'undefined' ) { string += "&optionResult=" + optionResult; }
Run Code Online (Sandbox Code Playgroud)

jquery

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

如果我不知道它们是否存在,如何将变量与undefined进行比较?

在JavaScript中,您可以声明一个变量,如果是undefined,您可以检查variable == undefined; 我知道,但是你怎么能比较一个你还不知道的值,如果它在记忆中呢?

例如,我有一个在用户单击按钮时创建的类.在此之前,该类是未定义的 - 它在任何地方都不存在; 我怎么比较呢?

有没有办法没有使用try- catch

javascript undefined

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

从javascript函数返回`undefined`或`null`更好吗?

我有一个我写的功能,基本上看起来像这样:

function getNextCard(searchTerms) {
  // Setup Some Variables

  // Do a bunch of logic to pick the next card based on termed passed through what I'll call here as 'searchTerms' all of this logic is omitted because it's not important for my question.
  // ...

  // If we find a next card to give, than give it
  if (nextCardFound)
    return nextCardFound;

  // Otherwise - I'm returning undefined
  return undefined;
}
Run Code Online (Sandbox Code Playgroud)

问题:在这里返回"null"会更好吗?

我可以通过我想要的任何东西 - 显然......我只是不确定什么是最好用的东西.

调用此函数的代码知道如何处理未定义的(除非出现可怕的错误,否则实际上不会真正发生)

我问这个问题的原因是我听到某些地方听起来像"不要将未定义的变量分配给变量"或其他东西 - 它会使调试变得更难.所以,我可以看到null传回来的事实告诉我返回工作 …

javascript null return function undefined

68
推荐指数
4
解决办法
5万
查看次数

如何在javascript中处理'undefined'

可能重复:
在JavaScript中检测未定义的对象属性

从下面的javascript示例中

 try {
    if(jsVar) {
     proceed();
      }
 }catch(e){
      alert(e);
 }
Run Code Online (Sandbox Code Playgroud)

这个jsVar在另一个js罚款中声明并初始化.

问题是,当代码在执行其他文件(声明和启动的文件)之前执行时,代码会抛出未定义的错误.这就是为什么它被try和catch包围着.

什么是处理这个未定义错误的最佳方法,而不是尝试catch?

javascript

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

如何检查javascript中是否存在变量?

我不是在询问变量是否未定义或是否为null.我想检查变量是否存在.这可能吗?

javascript

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

如何修复 TypeError: browser.storage is undefined in chrome/firefox web extension?

注意 - 这个问题是基于这个问题(虽然没有必要阅读上一个问题):How to set value of textarea in different HTML file?

我有以下代码,它应该将一个值添加到 firefox/chrome 的本地存储中,然后更改扩展程序的 UI(代码将根据使用的浏览器略有不同,截至目前,该代码用于Firefox 中的扩展):

function createSummaryBox(summary) {
    console.log("Setting textarea content to: " + summary);
    const currentSummary = {
        currentSummary: summary
    }
    browser.storage.local.set(currentSummary);
    window.location.href = '../summary_page/summary_page.html';
}
Run Code Online (Sandbox Code Playgroud)

但是,每当调用此函数时,我都会收到以下错误:

参考错误:browser.storage 未定义

我该如何解决这个错误?我通读了关于这种方法的 MDN 文档,所以我不确定我错过了什么。

javascript local-storage google-chrome-extension firefox-addon-webextensions

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

是否有可能覆盖javascript中的undefined?

喜欢

function myFunction(){
    var undefined = "abc";
}
Run Code Online (Sandbox Code Playgroud)

如果它可能那么如何限制不允许?

javascript

7
推荐指数
2
解决办法
1783
查看次数