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==undeifined)  //变量定义,可以这样判断

if(str==undeifined)            //变量未定义,报错ReferenceError: str is not defined

所以,当判断一个变量是否不存在时,用 if( typeof str == undefined )

typeof:

alert(typeof 1);                   // 返回字符串"number"

alert(typeof "1");                // 返回字符串"string"

alert(typeoftrue);               // 返回字符串"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类型的一种特殊形式。至于谁对谁错,看来只有根据具体情况而定了。

时间: 2024-10-19 17:02:49

js基本数据类型和typeof的相关文章

数据类型和typeof操作符

虽然学习js有一段时间了,但是对js的基础语法却是有些生疏.最近在看jquery源码,决定随带总结一些基础的语法知识.今天总结一下数据类型和typeof,这在写js的时候,是不得不知道的知识. 数据类型: js有5中基本的数据类型:undefined,Null,Boolean,Number,string;有一种复杂的数据类型:object,js不支持所有自定义的数据类型,所以所有变量的值都是以上类型. typeof:它的出现用来检测变量的数据类型,它可能的值有6种. undefined---如果

【js实例】js中的5种基本数据类型和9种操作符

js中的5中基本数据类型 js标识符 第一个字符必须为字母,下划线,或美元符 其他字符可以是字母,下划线,美元符,数字 js标识符区分大小写 标识符不能使关键字和保留字 关键字: break do instanceof typeof case else new var catch finally return void continue for switch while debugger function this with default if throw   delete in try  

JS的类型和值

1.类型 ECMAScript语言中所有的值都有一个对应的语言类型.ECMAScript语言类型包括Undefined.Null.Boolean.String.Number和Object. 对语言引擎和开发人员来说,类型是值的内部特征,它定义了值的行为,以使其区别于其他值. 内置类型 JavaScript有七种内置类型: 空值(null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(string) 对象(object) 符号(symbol,ES6中新增)

基本数据类型和String相互转换

1 package com.jdk7.chapter5; 2 3 public class BasicToString { 4 /** 5 * 基本数据类型转换为String 6 * 方法一:String.valueOf(基本数据类型) 7 * 方法二:基本数据类型的封装类.valueOf(基本数据类型) 8 * 方法三:直接在输出流中打印 9 */ 10 public static void intToStr(int n){ 11 System.out.println("String.valu

js中Boolean类型和Number类型的一些常见方法

Boolean类型 Boolean类型重写了valueOf() 方法, 返回基本布尔类型值true或false,重写了toString() 方法,返回基本字符串"true" 和 "false" 创建一个Boolean类型的实例 var booleanObj = new Boolean(true); Boolean类型和Boolean值有三个区别: Boolean类型的实例总是真 var falseObject = new Boolean(false); var re

JS 对基本类型和引用类型的判断

啰啰嗦嗦写了很多,把原本几句话就可以交待的东西扯得那么长.. 但在我曾经对这个问题感到困惑时,就希望能找到让我知其然并知其的讲解. 限于自己的知识和文章篇幅,我无法讲得多么细致,甚至不能保证正确性. 我只能把自己对js的理解写出来,大家可以批判着看. 着急找答案的朋友可以直接翻到后面看总结.. ------------------------------------------------------------------------------------------------------

JS定义类的六种方式详解

转载自: http://www.jb51.net/article/84089.htm 在前端开发中,经常需要定义JS类.那么在JavaScript中,定义类的方式有几种,分别是什么呢?本文就JS定义类的六中方式说明如下(案例说明): 1.工厂方式 ? 1 2 3 4 5 6 7 8 9 10 11 function Car(){ var ocar = new Object; ocar.color = "blue"; ocar.doors = 4; ocar.showColor = fu

使用AngularJs制作页面知识点汇总一:String类型和JSON相互转换

最近一周做了一个页面,制作的过程中遇到各种问题,从中可以看出本人的js基础还不够扎实,angularjs也只是刚入门的水平,现在将制作过程中遇到的问题一一汇总,方便以后查阅. 一.String类型和JSON相互转换 1.使用ng来转换 angularjs中有fromJson和toJson两个方法用于处理json和string类型之间的转换 var json = '{"name":"liSi", "password":"321"

MySql数据类型和Java数据类型对应一览

类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.String 12   CHAR N CHAR java.lang.String 1   BLOB L+N BLOB java.lang.byte[] -4   TEXT 65535 VARCHAR java.lang.String -1               INTEGER 4 INTEGER UNSIGNED java.la