浅谈js基本数据类型和typeof


Posted in Javascript onAugust 09, 2016

JavaScript数据类型是非常简洁的,它只定义了6中基本数据类型

•null:空、无。表示不存在,当为对象的属性赋值为null,表示删除该属性

•undefined:未定义。当声明变量却没有赋值时会显示该值。可以为变量赋值为undefined

•number:数值。最原始的数据类型,表达式计算的载体

•string:字符串。最抽象的数据类型,信息传播的载体

•boolean:布尔值。最机械的数据类型,逻辑运算的载体

•object:对象。面向对象的基础

#当弹出一个变量时:

var aa;alert(aa); //变量定义,弹出undefined

alert(aa);    //变量未定义,undefined , 未定义的变量也是undefined


#当判断一个变量是否存在时:

var str;if( str == undefined )  //变量定义,可以这样判断

if( str == undefined )   //变量未定义,报错ReferenceError: str is not defined

所以,当判断一个变量是否不存在时,用 if( typeof str == undefined )

typeof:

alert(typeof 1);        // 返回字符串"number" 
alert(typeof "1");       // 返回字符串"string" 
alert(typeof true);       // 返回字符串"boolean" 
alert(typeof {});        // 返回字符串"object" 
alert(typeof []);        // 返回字符串"object " 
alert(typeof function(){});   // 返回字符串"function" 
alert(typeof null);       // 返回字符串"object" 
alert(typeof undefined);    // 返回字符串"undefined"

你会发现:JavaScript解释器认为null是属于object数据类型的一种特殊形式,而function(){}是function类型,也就是说函数也是一种基本数据类型,而不是对象的一种特殊形式。

实际上,在JavaScript中,函数是一个极容易引起误解或引发歧义的数据类型,它可以是独立的函数类型,又可以作为对象的方法,也可以被称为类或构造器,还可以作为函数对象而存在等。

所以,在《JavaScript权威指南》中把function被看做是object基本数据类型的一种特殊对象,另外《悟透JavaScript》和《JavaScript高级程序设计》也把函数视为对象,而不是一种基本数据类型。但是在《JavaScript语言精髓与编程实践》中却把function视为一种基本数据类型,而把null视为object类型的一种特殊形式。至于谁对谁错,看来只有根据具体情况而定了。

以上这篇浅谈js基本数据类型和typeof就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js查找父节点的简单方法
Jun 28 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 Javascript
利用浮层使select不可选的实现方法
Dec 03 Javascript
原生JS实现左右箭头选择日期实例代码
Mar 14 Javascript
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
JavaScript定义函数的三种实现方法
Sep 23 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
Dec 20 Javascript
JavaScript实现的九种排序算法
Mar 04 Javascript
交互式可视化js库gojs使用介绍及技巧
Feb 18 Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 #Javascript
详解js实现线段交点的三种算法
Aug 09 #Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
Aug 09 #Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
Aug 09 #Javascript
引用jquery框架后出错的解决方法
Aug 09 #Javascript
js实现常用排序算法
Aug 09 #Javascript
VC调用javascript的几种方法(推荐)
Aug 09 #Javascript
You might like
UCenter 批量添加用户的php代码
2012/07/17 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python OS模块常用函数说明
2015/05/23 Python
Python切换pip安装源的方法详解
2016/11/18 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
Python如何实现转换URL详解
2019/07/02 Python
Python中print函数简单使用总结
2019/08/05 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
Ajxa常见问题都有哪些
2014/03/26 面试题
酒店管理毕业生自我鉴定
2014/03/02 职场文书
党员大会主持词
2014/04/02 职场文书
法制宣传口号
2014/06/16 职场文书
股东授权委托书范本
2014/09/13 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL