浅谈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 相关文章推荐
style、 currentStyle、 runtimeStyle区别分析
Aug 01 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
Nov 07 Javascript
JS获取地址栏参数的小例子
Aug 23 Javascript
JS中的this变量的使用介绍
Oct 21 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
jQuery实现鼠标跟随效果
Feb 20 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
Mar 02 Javascript
Angularjs实现下拉框联动的示例代码
Aug 22 Javascript
js读取本地文件的实例
Dec 22 Javascript
vue中的计算属性和侦听属性
Nov 06 Javascript
JS实现扫雷项目总结
May 19 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
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python内置函数之filter map reduce介绍
2014/11/30 Python
python正则表达式match和search用法实例
2015/03/26 Python
详解Django中Request对象的相关用法
2015/07/17 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
Python测试模块doctest使用解析
2019/08/10 Python
python实现滑雪游戏
2020/02/22 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
高二历史教学反思
2014/01/25 职场文书
应届毕业生简历自我评价
2014/01/31 职场文书
环境卫生倡议书
2014/08/29 职场文书
观看建国大业观后感
2015/06/01 职场文书
PyQt5实现多张图片显示并滚动
2021/06/11 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
vue特效之翻牌动画
2022/04/20 Vue.js
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android