浅谈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 相关文章推荐
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
Sep 25 Javascript
jQuery 前的按键判断代码
Mar 19 Javascript
JQuery的一些小应用收集
Mar 27 Javascript
JavaScript中标识符提升问题
Jun 11 Javascript
js时间戳转为日期格式的方法
Dec 28 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
Jan 04 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
微信小程序商品详情页规格属性选择示例代码
Oct 30 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
Aug 24 Javascript
vue模块拖拽实现示例代码
Mar 09 Javascript
Node.js Domain 模块实例详解
Mar 18 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
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP基本语法实例总结
2016/09/09 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
Backbone.js的一些使用技巧
2015/07/01 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
python从入门到精通(DAY 3)
2015/12/20 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
Python Lambda函数使用总结详解
2019/12/11 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
初中生个人学习的自我评价
2013/12/04 职场文书
火车来了教学反思
2014/02/11 职场文书
毕业自我鉴定书
2014/03/24 职场文书
庆元旦演讲稿
2014/09/15 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python
Springboot中如何自动转JSON输出
2022/06/16 Java/Android