浅谈js基本数据类型和typeof

 更新时间:2016年08月09日 10:16:32   投稿:jingxian  
下面小编就为大家带来一篇浅谈js基本数据类型和typeof。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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中的substr()方法使用详解

    JavaScript中的substr()方法使用详解

    这篇文章主要介绍了JavaScript中的substr()方法使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • 聊一聊JavaScript作用域和作用域链

    聊一聊JavaScript作用域和作用域链

    这篇文章主要和大家一起聊一聊JavaScript作用域和作用域链,什么是JavaScript作用域和作用域链,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • js parsefloat parseint 转换函数

    js parsefloat parseint 转换函数

    JavaScript提供了3个显式的类型转换函数,分别是eval()、parseInt()和parseFloat()。
    2010-01-01
  • 浅析js绑定事件的常用方法

    浅析js绑定事件的常用方法

    下面小编就为大家带来一篇浅析js绑定事件的常用方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • 简介JavaScript中fixed()方法的使用

    简介JavaScript中fixed()方法的使用

    这篇文章主要介绍了JavaScript中fixed()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • JS中Object对象的原型概念基础

    JS中Object对象的原型概念基础

    本篇文章是一篇关于JS学习的基础内容,学习Object对象的原型概念,有兴趣的朋友参考下吧。
    2018-01-01
  • 使用按钮控制以何种方式打开新窗口的属性介绍

    使用按钮控制以何种方式打开新窗口的属性介绍

    在用户体验过程中可能会出现这样的情况:自定义打开新窗口的样式,本文将介绍详细的解决方法,需要了解的朋友可以参考下
    2012-12-12
  • 前后台交互过程中json格式如何解析以及如何生成

    前后台交互过程中json格式如何解析以及如何生成

    json格式想必大家会很熟悉;因为他在ajax异步应用中会显得很有魅力,有些新手朋友对其有点陌生,接下来介绍前台如何解析json格式以及后台如何生成json格式等,需要了解的朋友可以参考下
    2012-12-12
  • js函数在frame中的相互调用详解

    js函数在frame中的相互调用详解

    一个HTML页面可以有一个或多个子框架,这些子框架以<iframe>来标记,用来显示一个独立的HTML页面。这里所讲的框架编程包括框架的自我控制以及框架之间的互相访问,例如从一个框架中引用另一个框架中的JavaScript变量、调用其他框架内的函数、控制另一个框架中表单的行为等
    2014-03-03
  • javascript学习笔记(三)BOM和DOM详解

    javascript学习笔记(三)BOM和DOM详解

    本文应用了很多实例,来解读JavaScript中BOM和DOM,DOM是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。,而BOM定义了JavaScript可以进行操作的浏览器的各个功能部件的接口。
    2014-09-09

最新评论