相关疑难解决方法(0)

如何在JavaScript中检查变量是否为空和/或未定义

可能重复:
在JavaScript中检测未定义的对象属性
如何确定变量是否为'undefined'或'null'
是否有标准函数来检查JavaScript中的null,undefined或blank变量?

在我的代码中,我有一个看起来像的条件

if (variable !== null && variable !== undefined) {
}
Run Code Online (Sandbox Code Playgroud)

但不是分两步完成,即检查它是否未定义且不为空.是否有一步检查取代此检查.

javascript jquery

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

JavaScript"无法读取未定义的属性"栏

我有一个带3个参数的函数.我遇到的问题之一是参数之一是有时未定义的Object值的属性(即它接受thing.foo.bar,有时thing.foo未定义,因此它无法访问bar).

这是怎么回事?在函数的声明中,我有一个条件检查: if (!parameterName),但浏览器(Chrome)仍然抛出一个错误,它无法读取undefined 的bar属性.

javascript undefined

29
推荐指数
4
解决办法
13万
查看次数

为什么JavaScript中有isNaN()函数但没有isUndefined()?

为什么isNaN()JavaScript中有一个函数,isUndefined()必须写成:

typeof(...) != "undefined"
Run Code Online (Sandbox Code Playgroud)

我有没有看到一点?

在我看来,写这个而不仅仅是非常难看isUndefined(testValue).

javascript nan undefined

24
推荐指数
2
解决办法
2836
查看次数

在IE中返回"未知"的类型

我有一个窗口,在关闭之前我刷新底层页面.

if(opener && typeof(opener.Refresh) != 'undefined')
{
    opener.Refresh();
}
Run Code Online (Sandbox Code Playgroud)

如果我离开原始的开始页面,此代码将抛出"权限被拒绝"错误.

调试代码显示typeof(opener.Refresh)等于"未知"而不是预期的"未定义".

据我所知,"未知"不是其中一个返回值typeof,那么该值的返回方式和原因是什么?

更多的信息

我通过将检查更改为以下来避免错误:

if(opener && typeof(opener.Refresh) == 'function')
Run Code Online (Sandbox Code Playgroud)

但是这样的例子(在javascript中检测未定义的对象属性)似乎并未将"未知"因素纳入等式中.

javascript internet-explorer typeof

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

Javascript"检查变量的长度时,无法读取未定义的属性'长度'

我正在构建一个用于解析的node刮刀.这是更多或一个香草javascript问题.在我的一部分中,我将一些内容加载到一个变量中,然后检查变量,如下所示:cheerioDOMlength

var theHref = $(obj.mainImg_select).attr('href');
if (theHref.length){
   // do stuff
} else {
  // do other stuff
}
Run Code Online (Sandbox Code Playgroud)

这很好用,直到我遇到一个$(obj.mainImg_select).attr('href')不存在的URL .我认为我的theHref.length支票会解释这个并跳过else: do other stuff声明,但我得到了:

TypeError: Cannot read property 'length' of undefined

我在这里做错了什么,我该如何解决这个问题?

javascript

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

从谷歌CDN回退jQuery UI

Html5 Boilerplate使用以下技巧回退到本地存储的JQuery,如果从谷歌CDN抓取它失败:

<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>
Run Code Online (Sandbox Code Playgroud)

你会如何实现这个技巧来为jQuery UI执行相同的技巧?

performance jquery cdn

14
推荐指数
2
解决办法
8977
查看次数

python的jat中的hasattr?

在javascript中:

d={one: false, two: true}
d.one
d.two
d.three
Run Code Online (Sandbox Code Playgroud)

我希望能够区分d.oned.three.默认情况下,它们都评估为false,但在我的情况下,它们不应该被视为相同.

javascript

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

如何检查元素是否未定义?

我想检查一下DOM元素的特定属性是否未定义 - 我该怎么做?

我试过这样的事情:

if (marcamillion == undefined) {
    console.log("Marcamillion is an undefined variable.");
}
ReferenceError: marcamillion is not defined
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,引用错误告诉我该变量未定义,但我的if检查显然不起作用,因为它生成标准js ReferenceError而不是我正在寻找的错误消息console.log.

编辑1

或者更好的是,如果我试图确定元素的属性是否未定义如下:

$(this).attr('value')

什么是确定是否未定义的最佳方法?

javascript

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

在Javascript中检查未定义

我按照以下逻辑检查变量是否未定义:

 if (variable==undefined){
////implementation
}
Run Code Online (Sandbox Code Playgroud)

但发现在某些情况下它没有按预期运行.所以,试过这种方法,

if(typeof(variable) == "undefined"){
/////implementation
}
Run Code Online (Sandbox Code Playgroud)

哪一个最可靠?

javascript undefined

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

无法解构 null 的属性

我有一个组件可以user从它的authprop中解构:

 const Profile = ({
     auth: {user}
 }) => {...}
Run Code Online (Sandbox Code Playgroud)

问题是当我在开发时,Nodemon 会在我保存任何更改时不断刷新我的页面。当组件尝试挂载时,它会抛出一个错误,它无法user从中解构,auth因为此时auth为空(直到我导航该站点并重新登录)。

有没有一种优雅的方法来处理这个问题?我看了这篇文章,但我不能做类似的事情const { user } = auth || {}。嗯.. 我的意思是,我可以,但我想从 props 中解构,而不是const { user } = auth || {}在函数体中。

javascript destructuring ecmascript-6 reactjs

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