关于js中undefined的判断

在开发中遇到一个情景,当添加用户的时候不需要传入用户id,如果是修改那么需要传入id,因为用的是angular框架,参数是早就定义好了的,那么在新增用户的时候就会出现undefined的情况,之前我一直认为undefined是在js中未定义变量时才会提示的错误,其实undefined 是js中的一特殊的变量

if(‘undefined‘ != $stateParams.deptId){
    alert(1);
}

当进行这样的判断,发现无论是否有值都会进入alert方法,说明undefined也是一种特殊的类型,于是换了下面的一种方式就成功啦!

if(‘undefined‘ != typeof($stateParams.deptId)){
    alert($stateParams.deptId);
}
typeof 返回的是字符串,有六种可能:number、string、boolean、object、function、undefined。
ps:注意判断是否是undefined的时候一定要在两边加上引号,否则不成功
时间: 2024-11-10 13:36:53

关于js中undefined的判断的相关文章

图解js中常用的判断浏览器窗体、用户屏幕可视区域大小位置的方法

有时我们需要获得浏览器窗口或屏幕的大小.窗口下拉框下拉的距离等数据,对应这些需求,js中提供了不少解决方法,只是数量稍多容易混淆它们各自的意义,下面咱们用图例来解释下12个常见对象属性的作用. 其中有6个常用的浏览器窗体属性(由于offsetWidth/Height在不同浏览器下表现有出入,故不在本章讨论): document.documentElement.clientWidth document.documentElement.clientHeight document.documentEl

JS中undefined、null以及NaN之间的区别,以及对象属性赋值的面试题

(1)以下三种情况typeof 返回类型为undefined --当变量未初始化时 --变量未定义时 --函数无明确返回值时(函数没有返回值时返回的都是undefined) (2)Null 类型 undefined 是由null派生处理的,因此undefined == null undefined 是声明了但是没有初始化的该变量, null表示尚未存在的对象 . (3)NaN 值 是一个特殊值,表示非数(Not a Number),类型转换失败就会返回NaN --NaN 不等于自己,即 NaN

js中小数的判断和运算

判断小数的方法: if(String(newNum).indexOf(".")>-1){ alert('小数!') }else{ alert("非小数"); } 小数和整数的相加,最简便的方法: function getAmount(){ var proltotal=0; jQuery('.littletotal').each(function(){ // 乘1能转为数字,直接相加会自动调整精度,否则是字符串的连接 var rowtotle2=jQuery(t

js中浏览器类型判断

在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的.下面列举一下常用的判断方法:1.判断浏览器是否为IE        document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0:        nav

js中的if判断语句和switch条件分支语句

语句是js中最重要的成分 本文想介绍的是if判断语句和switch条件分支语句 ---------------------------------------------------------------- if条件判断语句 形式: if(条件判断){ 表达式 } 意思就是,当满足条件判断的句子,执行花括号内的表达式 直接看看有坑的地方 需求:当score为60分以下,控制台打印不及格,当score为60分以上,控制台打印及格,当score为85分以以上,控制台打印优秀 var score =

js中undefined和null的区别

undefined:表示定义未赋值 一般会出现在定义的变量但是未赋值的变量中例如 var a; console.log(a);//undefined console.log(c);//undefined null;表示定义了并赋值为null值 var a=null; console.log(a); 主要null使用在 1.声明一个变量为标明后面有赋值为对象 2.结束前,将对象设置为空,释放指向对象,将该对象设置为垃圾对象,便于回收 var obj=null; //do something obj

JS中undefined与null的区别

1.概述: 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? 有人说这两个返回值,没有什么区别,只是历史遗留问题罢了,其实还是有一点区别的. 2.null和undefined的发展史: 大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇怪的是,Ja

js中对于json判断的总结(持续整理中~)

[判断json是否为空] var jsonStr ={}; 1.判断json是否为空 jQuery.isEmptyObject(): 2.判断对象是否为空: 1.if   (typeOf(x)   ==   "undefined") 2.if   (typeOf(x)   !=   "object") 3.if(!x) 其中第三种是最简单的方法,但是第三种就不能用if(x)这种互斥的方法去判断,只能在对象前面加! 3.json的key是不可以重复的: jsonStr

JS中undefined与null的区别,附带产生undefined的历史

大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil. 有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null.这是为什么? 一.相似性 在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别. var a = undefined; var a = null; 上面代码中,a变量分别被赋值为undefin