浅谈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 相关文章推荐
setAttribute 与 class冲突解决
Feb 17 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
JS按字节截取字符长度实例
Nov 20 Javascript
JS 获取鼠标左右键的键值方法
Oct 11 Javascript
JQuery CheckBox(复选框)操作方法汇总
Apr 15 Javascript
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
详解如何配置vue-cli3.0的vue.config.js
Aug 23 Javascript
js自定义input文件上传样式
Oct 26 Javascript
vue.js高德地图实现热点图代码实例
Apr 18 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
Vue使用虚拟dom进行渲染view的方法
Dec 26 Javascript
JS highcharts实现动态曲线代码示例
Oct 16 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数据库配置文件一般做法分享
2012/07/07 PHP
php去除HTML标签实例
2013/11/06 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
javascript新手语法小结
2008/06/15 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
Python设计模式之观察者模式实例
2014/04/26 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
Python实现点云投影到平面显示
2020/01/18 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
经济信息管理专业大学生求职信
2013/09/27 职场文书
运动会入场词60字
2014/02/15 职场文书
精彩广告词大全
2014/03/19 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
租车协议书范本2014
2014/11/17 职场文书
小学班主任工作总结2015
2015/04/07 职场文书