初学者需要注意的undefine和null的区别
JavaScript语言有两个表示"无"的值:undefined和null
相似性:
在JavaScript中,将一个变量赋值为undefined或null,几乎没区别。
var i = undefined;
var i = null;
undefined == null
// true
这两种写法几乎等价,并且undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等
JavaScript的最初版本是这样区分的:null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
Number(undefined)
// NaN
5 + undefined
// NaN
null表示"没有对象",即该处不应该有值。典型用法:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
初学者需要注意的undefine和null的区别相关推荐
- undefine和null的区别
1.定义 (1)undefined:是所有没有赋值变量的默认值,自动赋值. (2)null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址. (3)null 和 undefined 的值 ...
- mysql 中is not null 和 !=null的区别
今天做定时任务,需要用到一个mysql查询 于是我就写: sqlcondition=" and fplsh!=null and iskp='2'" 却发现发挥的list为空 很是诧 ...
- mysql''和null,mysql中NULL和null的区别
接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...
- JS-undefined与null的区别
JS-undefined与null的区别 var array = new Array(); array[0] = 1; array[1] = 2; array[10] =10; array[2]到ar ...
- 关于mysql设置varchar 字段的默认值''和null的区别,以及varchar和char的区别
一.背景 根据业务需求,发现以前的同事在设计表的时候,很多字段都没有设置默认值.在mysql5.7版本之后,没有设定默认值的字段,在严格模式下是很容易报错的,所以我这边需要先给每个字段加上一个默认值. ...
- mysql char null_关于mysql设置varchar 字段的默认值''和null的区别,以及varchar和char的区别...
一.背景 根据业务需求,发现以前的同事在设计表的时候,很多字段都没有设置默认值.在mysql5.7版本之后,没有设定默认值的字段,在严格模式下是很容易报错的,所以我这边需要先给每个字段加上一个默认值. ...
- python 空值_数据库中的空值与NULL的区别以及python中的NaN和None
展开全部 数据库里面的"32313133353236313431303231363533e59b9ee7ad9431333363393632空值"有两种:空字符("&qu ...
- int * p =NULL;和*p =NULL的区别a和a的区别
1.int * p =NULL;和*p =NULL的区别 1 .int * p =NULL int *p=NULL: 定义一个指针变量p,其指向的内存里面保存的是int类型的数据:再定义变量p的同时把 ...
- NAVICAT MYSQL 建表字段 默认值、EMPTY STRING、空白、NULL 的区别
Navicat mysql 建表字段 默认值.empty string.空白.NULL 的区别 总结在最后,没啥干货 简单测试了4种类型 bigint tinyint varchar char 单引号 ...
最新文章
- 组策略 从入门到精通 (七) 组策略的继承
- yarn 切换 设置 镜像 源
- Jessica's Reading Problem
- 缓解数据包丢失对WAN的影响是当务之急—Vecloud微云
- HDU - 6610 Game(带修莫队)
- vue报错 TypeError: merge is not a function
- ubuntu环境变量相关文件/etc/profile,/etc/bash.bashrc,~/.profile,~/.bashrc区别
- 利用 jwt 可以获取用户的额外信息?
- GBin1专题之Web热点#10
- Adobe出现正版验证提示如何解决?Adobe正版校验关闭教程
- Android广播机制(2)
- 机器学习与知识发现_如何使用无监督机器学习来发现隐藏的科学知识?
- 我是如何用单例模式征服面试官的?
- myeclipse 扩展内存大小
- 安卓ps模拟器_电脑安装模拟器配置要求
- 矩阵快速幂 算法原理
- Texture ASTC转换ETC
- 2022.3.21密码学des对称密码与rsa非对称密码【网络攻防CTF】(保姆级图文)
- 视觉SLAM十四讲学习笔记——第十三讲 实践:设计SLAM系统
- 网络安全渗透技术(入门视频课程)-李云鹏-专题视频课程