浅谈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隐藏控件的方法
Sep 21 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
Mar 06 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
Jul 28 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
Jun 22 Javascript
JS原型链 详解及示例代码
Sep 06 Javascript
浅析JavaScript中break、continue和return的区别
Nov 30 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
Dec 26 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
vue组件的写法汇总
Apr 12 Javascript
JavaScript判断数组类型的方法
Oct 23 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
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
javascript中神奇的 Date对象小结
2017/10/12 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
tensorflow实现softma识别MNIST
2018/03/12 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
高中数学教师求职信
2013/10/30 职场文书
酒店管理专业毕业生推荐信
2013/11/10 职场文书
优秀经理获奖感言
2014/03/04 职场文书
领导接待方案
2014/03/13 职场文书
新年联欢会主持词
2014/03/27 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
总结高并发下Nginx性能如何优化
2021/11/01 Servers