相关疑难解决方法(0)

检测未定义的对象属性

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

javascript object undefined

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

如何在JavaScript中检查empty/undefined/null字符串?

我看到了这个帖子,但我没有看到JavaScript特定的例子.有一个简单string.Empty的JavaScript可用,还是只是检查的情况""

javascript null is-empty

2645
推荐指数
45
解决办法
276万
查看次数

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

如何确定变量undefined还是null?我的代码如下:

var EmpName = $("div#esd-names div#name").attr('class');
if(EmpName == 'undefined'){
  //DO SOMETHING
};
Run Code Online (Sandbox Code Playgroud)
<div id="esd-names">
  <div id="name"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

但是如果我这样做,JavaScript解释器会暂停执行.

javascript variables null jquery undefined

2000
推荐指数
17
解决办法
240万
查看次数

JavaScript null检查

我遇到过以下代码:

function test(data) {
    if (data != null && data !== undefined) {
        // some code here
    }
}
Run Code Online (Sandbox Code Playgroud)

我对JavaScript很新,但是,从我在这里读过的其他问题来看,我的印象是这段代码没有多大意义.


特别是,这个答案说明了这一点

如果在除了以外的任何上下文中访问未定义的变量,您将收到错误typeof.

更新:上述答案(引用)可能会产生误导.应该说"一个未声明的变量",而不是"一个未定义的变量".

正如我在Ryan♦,maericsnwellnhof的回答中所发现的那样,即使没有为函数提供参数,也始终声明其参数的变量.这个事实也证明了下面列表中的第一项是错误的.


根据我的理解,可能会遇到以下情况:

  • 调用该函数时没有参数,从而生成data一个未定义的变量,并引发错误data != null.

  • 该函数专门用null(或undefined)作为其参数调用,在这种情况下data != null已经保护内部代码,使得&& data !== undefined无用.

  • 该函数使用非null参数调用,在这种情况下,它将平凡地传递两个data != null data !== undefined.

问:我的理解是否正确?


我在Firefox的控制台中尝试了以下内容:

--
[15:31:31.057] false != null
[15:31:31.061] true
-- …
Run Code Online (Sandbox Code Playgroud)

javascript null undefined null-check

158
推荐指数
4
解决办法
42万
查看次数

为什么NaN不等于NaN?

相关的IEEE标准定义了一个数字常量NaN(不是数字),并规定NaN应该比较为不等于它自己.这是为什么?

我熟悉的所有语言都实现了这个规则.但它经常会导致严重的问题,例如当NaN存储在容器中时,NaN存在于正在排序的数据中等时的意外行为等.更不用说,绝大多数程序员都希望任何对象都等于自身(在他们了解NaN之前,令人惊讶的是他们增加了错误和混乱.

IEEE标准经过深思熟虑,因此我确信NaN的比较与其本身相同是很糟糕的.我只是想不通它是什么.

language-agnostic floating-point nan ieee-754

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

AngularJS未定义或为null

当我编写手表处理函数时,我检查newVal参数undefinednull.为什么AngularJS有这样的行为,但没有特定的实用方法?所以有,angular.isUndefined但没有angular.isUndefinedOrNull.手动实现并不难,但是如何扩展角度以在每个控制器中具有该功能?TNX.

编辑:

这个例子:

$scope.$watch("model", function(newVal) {
    if (angular.isUndefined(newVal) || newVal == null) return;
    // do somethings with newVal
}
Run Code Online (Sandbox Code Playgroud)

处理这种方式是否是普遍接受的做法?

编辑2:

JSFiddle示例(http://jsfiddle.net/ubA9r/):

<div ng-app="App">
  <div ng-controller="MainCtrl"> 
      <select ng-model="model" ng-options="m for m in models">
          <option value="" class="ng-binding">Choose model</option>
      </select>
      {{model}}
  </div>
</div>

var app = angular.module("App", []);

var MainCtrl = function($scope) {
    $scope.models = ['Apple', 'Banana'];
    $scope.$watch("model", function(newVal) {
        console.log(newVal);
    });
};
Run Code Online (Sandbox Code Playgroud)

null undefined angularjs

80
推荐指数
5
解决办法
25万
查看次数

如何检查localstorage变量是null还是未定义?

我有这个代码:

var sideBar = localStorage.getItem('Sidebar');
Run Code Online (Sandbox Code Playgroud)

我想检查sideBar是否已定义,而不是if语句中的null.我有点困惑,我知道有一个:sideBar == undefinedsideBar != null

但是我有一个很好的方法来对这两个内部的if进行测试:

if (??) 
Run Code Online (Sandbox Code Playgroud)

javascript

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

[].sort 忽略未定义的值?

我想对包含 undefined/null 和数字的数组进行排序,以便 undefined/null 值始终排在第一位:

function sorter(a, b) {
    if (a == b) return 0;
    if (a == undefined) return -1;
    if (b == undefined) return  1;
    return a - b;
}
Run Code Online (Sandbox Code Playgroud)

但是,当数组包含未定义的值时,它将成为最后一个元素

[-1, 0, 1, undefined, 2, 3].sort(sorter);     // [-1, 0, 1, 2, 3, undefined]
Run Code Online (Sandbox Code Playgroud)

如果值为空,它会正确排序

[-1, 0, 1, null, 2, 3].sort(sorter);          // [null, -1, 0, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?由于 null == undefined,这不应该导致完全相同的顺序吗?

javascript arrays sorting

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

打字稿不知道 FormData 是什么

尝试使用时window.FormData出现以下错误:

The name 'FormData' does not exist in the current scope
Run Code Online (Sandbox Code Playgroud)

FileReader 也会发生同样的情况

javascript typescript

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

Javascript空检查似乎不起作用

我的javascript代码中的空检查似乎没有按预期运行.它是这样的:

if (myVariable) {
// Do things with my variable
}
Run Code Online (Sandbox Code Playgroud)

当我到达if语句的内部时,Chrome的java控制台说我正在尝试使用的值(myVariable)为null.也许我不理解if语句?抛出错误的具体行是

window.document.getElementById("myElement").innerText = myVariable
Run Code Online (Sandbox Code Playgroud)

提前致谢.

javascript null google-chrome

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

如何检查document.getElementbyId包含null或undefined值?

if(typeof    (document.getElementById("courseId").value!=="undefined") || document.getElementById("courseId").value!==null)
    {
        Courseid = document.getElementById("courseId").value;
    } 
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在Javascript中编写OR?

你怎么OR用Javascript 写的?

示例:

if ( age **or** name == null ){
    do something
}
Run Code Online (Sandbox Code Playgroud)

javascript

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