浅谈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 相关文章推荐
基于datagrid框架的查询
Apr 08 Javascript
javascript数组随机排序实例分析
Jul 22 Javascript
js如何判断输入字符串长度
Dec 16 Javascript
AngularJS Select(选择框)使用详解
Jan 18 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
angular4 JavaScript内存溢出问题
Mar 06 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
详解ES6中的Map与Set集合
Mar 22 Javascript
JSX在render函数中的应用详解
Sep 04 Javascript
关于Vue中axios的封装实例详解
Oct 20 Javascript
基于javascript实现日历功能原理及代码实例
May 07 Javascript
详解Vue2的diff算法
Jan 06 Vue.js
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注入点构造代码
2008/06/14 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
php格式化时间戳
2016/12/17 PHP
PHP微商城开源代码实例
2019/03/27 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
Python实现统计代码行的方法分析
2017/07/12 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
python如何输出反斜杠
2020/06/18 Python
python设置中文界面实例方法
2020/10/27 Python
设计师大码女装:11 Honoré
2020/05/03 全球购物
介绍一下Java中的static关键字
2012/05/12 面试题
大学校庆邀请函
2014/01/11 职场文书
学生安全责任书模板
2014/07/25 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
跑吧孩子观后感
2015/06/10 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书