浅谈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验证整数加保留小数点的简单实例
Dec 02 Javascript
首页图片漂浮效果示例代码
Jun 05 Javascript
jQuery实现隔行背景色变色
Nov 24 Javascript
js实现在网页上简单显示时间的方法
Mar 02 Javascript
jQuery 移动端artEditor富文本编辑器
Jan 11 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
Jan 26 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
Sep 18 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
用jmSlip编写移动端顶部日历选择控件
Oct 24 Javascript
微信小程序Redux绑定实例详解
Jun 07 Javascript
es6系列教程_ Map详解以及常用api介绍
Sep 25 Javascript
layui 表单标签的校验方法
Sep 04 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可变函数学习小结
2015/11/29 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
python中Mako库实例用法
2020/12/31 Python
python推导式的使用方法实例
2021/02/28 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
应届生如何写自荐信
2014/01/05 职场文书
报到证丢失证明
2014/01/11 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
人力资源总监工作说明
2014/03/03 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
财务工作失职检讨书
2014/11/21 职场文书
公司年夜饭通知
2015/04/25 职场文书
初中军训感言
2015/08/01 职场文书
单位病假条范文
2015/08/17 职场文书
Java数组与堆栈相关知识总结
2021/06/29 Java/Android