浅谈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 相关文章推荐
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
Jan 15 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
Jan 29 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
微信小程序 swiper组件轮播图详解及实例
Nov 16 Javascript
JS实现隔行换色的表格排序
Mar 27 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 jQuery
js canvas实现红包照片效果
Aug 21 Javascript
ElementUI多个子组件表单的校验管理实现
Nov 07 Javascript
JQuery省市联动效果实现过程详解
May 08 jQuery
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
php检查日期函数checkdate用法实例
2015/03/19 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
用JS在浏览器中创建下载文件
2014/03/05 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
浅谈python之新式类
2018/08/12 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
Python数据集切分实例
2018/12/08 Python
Python操作Excel插入删除行的方法
2018/12/10 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
python openpyxl使用方法详解
2019/07/18 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
大学生应聘推荐信范文
2013/11/19 职场文书
后进生转化工作制度
2014/01/17 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
离职证明格式样本
2015/06/12 职场文书
2016银行求职自荐信
2016/01/28 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
Python深度学习之实现卷积神经网络
2021/06/05 Python
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle