浅谈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 相关文章推荐
利用jQuery接受和处理xml数据的代码(.net)
Mar 28 Javascript
js模仿hover的具体实现代码
Dec 30 Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
深入理解JS DOM事件机制
Aug 06 Javascript
React Native使用Modal自定义分享界面的示例代码
Oct 31 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 Javascript
如何用JavaScript实现功能齐全的单链表详解
Feb 11 Javascript
es6 symbol的实现方法示例
Apr 02 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
详解Vue template 如何支持多个根结点
Feb 10 Javascript
Element Steps步骤条的使用方法
Jul 26 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定义命令空间的几个注意点(推荐)
2016/10/29 PHP
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
2016/12/18 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
python中pyqtgraph知识点总结
2021/01/26 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
外贸采购员求职的自我评价
2013/11/26 职场文书
教师教学评估方案
2014/05/09 职场文书
电教室标语
2014/06/20 职场文书
教师个人学习总结
2015/02/11 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL