浅谈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 Array(数组)相关方法简述
Jul 25 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
Jul 16 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
jquery结合CSS使用validate实现漂亮的验证
Jan 29 Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 Javascript
javascript iframe跨域详解
Oct 26 Javascript
百度多文件异步上传控件webuploader基本用法解析
Nov 07 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
Javascript中click与blur事件的顺序详析
Apr 25 Javascript
JavaScrpt的面向对象全面解析
May 09 Javascript
js处理包含中文的字符串实例
Oct 11 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 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 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
php调整服务器时间的方法
2015/04/03 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
2017/04/18 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
JavaScript 序列化对象实现代码
2009/12/18 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
python操作gmail实例
2015/01/14 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
Python模块文件结构代码详解
2018/02/03 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
Python 爬虫的原理
2020/07/30 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
幼儿园教师的自我评价范文
2014/09/17 职场文书
2014年租房协议书范本
2014/10/30 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python