浅谈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 相关文章推荐
自写简单JS判断是否已经弹出页面
Oct 20 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
Jan 07 Javascript
jquery设置表单元素为不可用的简单代码
Jul 04 Javascript
jquery精度计算代码 jquery指定精确小数位
Feb 06 Javascript
详解Angular 4.x 动态创建组件
Apr 25 Javascript
小发现之浅谈location.search与location.hash的问题
Jun 23 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
微信小程序自定义模态对话框实例详解
Aug 16 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
Sep 26 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 Javascript
node.js中 redis 的安装和基本操作示例
Feb 10 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
Protoss建筑一览
2020/03/14 星际争霸
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
深入密码加salt原理的分析
2013/06/06 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
共享自己写一个框架DreamScript
2007/01/20 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
快递业务员岗位职责
2014/01/06 职场文书
九月份红领巾广播稿
2014/01/22 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
2015年试用期工作总结
2014/12/12 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
JavaScript的function函数详细介绍
2021/11/20 Javascript
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers