JavaScript 是一门弱类型的语言,这意味着一个变量可以被赋予不同类型的值。但在某一特定的时刻,这个变量还是具有确定的类型的。在进行数据处理时,正确判断变量的类型,常常是非常重要的。
JavaScript中使用typeof操作符,会有以下几种类型返回值“number”, "boolean", "string", "undefined", "object", "function"。根据这些类型的性质不同,我们将其分成三个大类,基本类型,对象类型和函数类型
基本类型包括:
- 数字类型 number,字面量包括八进制,十进制,十六进制,小数,指数等多种方式
- 布尔类型 boolean, 字面量包括true和false
- 字符创类型 string, 字面量以"" 或 ''中的文字
- 未定义类型 undefined,字面量是undefined,或未赋值过的变量
基本类型不是对象(类型)
基本类型没有原型链,也不能成为其它对象的原型
基本类型不能通过new关键字声明,而是通过字面量赋值声明
基本类型可以进行大小比较 (>, <, ==, ===)
基本类型没有自己的方法
对象类型 object
对象类型具备自己的原型链,原型链的根都为Object.prototype
对象类型可以通过 new 关键字声明
对象类型的比较类似C++中的地址比较,只可以比较两个变量是否指向同一个对象
对象类型包含方法,由于对象类型都直接或间接的继承自Object.prototype,所以至少有这个原型所定义的方法
null 是对象类型,只不过它是一个的空对象
函数类型 function
包括函数和方法,表示一段可执行的代码,通过Function关键字声明。可以赋值给一个变量,并通过这变量进行函数调用。
外覆类
尝试以下代码
var a = 3.14159265; a.toFixed(2);
前面说了基本类型没有自己的方法,这是怎么回事?
原来JavaScript一旦发现在一个基本类型的变量上使用对象的一些操作,会自动的将基本类型替换为外覆对象(undefined类型除外)。
所以下面的getType总会返回
Object.prototype.getType = function(){ return typeof this; } var o = "I am a string"; o.getType(); //返回"object"
外覆对象包括
- Number
- Boolean
- String
同时外覆对象可以通过对象类型的new关键字声明。由于外覆对象是对象类型,所以任意两个都是不等的
var b1 = new Boolean(true); var b2 = new Boolean(true); b1 == b2; //返回false
编码中一定要意识到这点,否则极容易出错
相关推荐
第9节 JavaScript简单类型和复杂类型.rar第9节 JavaScript简单类型和复杂类型.rar第9节 JavaScript简单类型和复杂类型.rar第9节 JavaScript简单类型和复杂类型.rar第9节 JavaScript简单类型和复杂类型.rar第9节 ...
Flow 是 Facebook 出品的一个用于 JavaScript 代码的静态类型检查工具。用于找出 JavaScript 代码中的类型错误。Flow 采用 OCaml 语言开发。 标签:Flow
JavaScript优势简介及数据类型Introduction to JavaScript, Advantages, Data Types – Variables – Operators - Control Statements – Functions - Objects – Array – Strings – Math – Boolean – Global - ...
主要是对判断javascript的数据类型的判断方式进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
认识JavaScript的数据类型;学习目标;认识JavaScript的数据类型; 1.变量的数据类型;基本数据类型-数字型;认识JavaScript的数据类型;认识JavaScript的数据类型;认识JavaScript的数据类型;认识JavaScript的数据类型;...
JavaScript语法和数据类型(源代码)JavaScript语法和数据类型(源代码)JavaScript语法和数据类型(源代码)JavaScript语法和数据类型(源代码)JavaScript语法和数据类型(源代码)JavaScript语法和数据类型(源...
javascript数据类型
ECMAScript 中有 5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和 String。还有 1种复杂数据类型——Object,Object 本质上是由一组无序的名值对组成的。ECMAScript 不支持任何创建...
第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3节 JavaScript数据类型.rar第3...
描述javascript获取鼠标坐标的各种方式,其中有图说明,很清晰,很容易理解!
parseInt()-将字符串转化为整型 parseFloat()-将字符串转化为浮点数 ...String()-函数能够将任何类型的值转换为字符串 tostring()-将数字转换为进制 Boolean()-转换为Boolean值 toFixed-()将数值转换为字符串
javascript技巧,JavaScript中数据类型转换总结,轉載自腳本之家
Javascript静态类型检测器 Flow 中文参考指南
javascript数据类型
第3部分深入探索JavaScript,介绍了语法、值、运算符、布尔类型、数字、字符串、语句、异常捕获、函数、变量、对象与继承、数组、正则表达式、Date、Math、JSON、标准全局变量、编码和JavaScript、ECMAScript 5的新...
《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...
javascript的数据类型
一种JavaScript矢量类型,带有GLSL启发式转换
javaScript基本数据类型
类型转换是网页编程不可或缺的内容,本文先介绍自动类型转换,...在数值数据类型中,还有NaN等特殊值。JavaScript 是一种松散类型、动态类型的语言,在声明变量时无需指定数据类型,使JavaScript 具有灵活性和简单性。