JavaScript都有哪些数据类型呢?

在JavaScript里面,数据类型分为两类:原始类型(primitive type)和对象类型(object type)

1. 原始类型(我的理解,不可分割的基本类型)
数字、字符串、布尔值、null、undefined

2. 对象类型(我的理解,由 键/值 对组成的一种类型)
普通对象、数组、函数、Date、RegExp、Error

PS:其中普通对象是指那些用户自定义的对象
(万物皆对象,类是对象类型的子类型,对象拥有属性和方法,但是null和undefined除外。)

1). Number

JavaScript 里面不区分整数和浮点数,统一用Number表示,e.g.

123;    // 整数123
12.3; // 浮点数12.3
-12; // 负数-12
1- 'a'; // NaN (NaN表示 Not a Number,意味着无法计算当前结果)
1/0; // Infinity (Infinity表示无限大)

其中,需要注意的是 NaN这个特殊的Number与所有其他值都不相等,包括它自己

NaN == NaN; // false

2). String

字符串是以单引号(')或者双引号(")括起来的任意字符,单引号和双引号基本上没有区别,你喜欢。个人建议,JavaScript里面的字符串都统一使用单引号(原因是 少敲一个Shift键,捂脸~~~)

'this is a string';   // this is a string

3). Boolean

布尔值只有两种可能,true 和 false,通常是由比较运算表达式得到,e.g.

2>1;  // trure
2>3; // false

4). null & undefined

JavaScript的设计者希望用null表示一个空的值,而undefined表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用null。

另外:null 也是一个特殊的对象,由 typeof(null) 可以得知

5). 对象(object)

JavaScript的对象是一组由键-值组成的无序集合,e.g:

var student = {
name: 'Michael',
age: 20,
sex: 'man'
};

6). 数组(Array)

数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型。e.g.

[1, 2, 3, '4', false, {x: 1, y: 2}, [7, 8]];

这个数组包含了7个元素,其中类型有 数字,字符串,布尔值,对象,数组

7). 函数(funciton)

函数是可供其他程序调用的一个功能模块

function f() {
alert("Hello world!");
}

标识符和保留字

标识符:JavaScript 标识符必须以字母,或者下划线(_),或者美元符号($)开始,后面可以是任意可用字符

保留字:不能使用下面这些作为你的变量

break, case, catch, continue, debugger, default, delete, do,
else, false, finally, for, function, if, in, instanceof, new, null
return, switch, this, throw, true, try, typeof, var, void, while, with

如何声明变量呢?

使用关键字 var 声明变量。
调用声明但未初始化的变量返回undefined,调用未声明的变量会出现引用错误(ReferenceError)

var a = 10;
var b; console.log(a); //
console.log(b); // undefined
console.log(c); // ReferenceError

变量的作用域

一个变量的作用域(scope)是代码中定义这个变量的区域,有两种:

全局变量:在代码中任何地方都可见
局部变量:只在函数内部可见

在函数体内,局部变量优先级高于全局变量。e.g.

var scope = "global var";
function f(){
var scope = "local var";
console.log(scope);
} f(); // "local var"
console.log(scope); // "global var"

这里有一点要非常注意的:即使在函数内部,你也要使用 var 关键字来声明变量,否则它会变成全局变量。e.g.

var scope = "global var";
function f(){
scope = "local var"; // 这里忘记使用var关键字,因此这将会声明一个全局的变量,即使它在函数内执行
console.log(scope);
} f(); // "local var"
console.log(scope); // "local var"

有个规定:所有需要用到的变量都应该在函数体顶部声明,而不是在要用到的时候才声明

最新文章

  1. C#过滤Html标签及空格
  2. global.autoindex dede:global.itemindex 获取子栏目自动排序序号
  3. javascript--”原路返回“
  4. Linux系统守护进程详解ntsysv 可以关掉那些服务
  5. java面向对象之 类和对象
  6. 利用WebClient上传参数及文件流到远程ashx服务
  7. hack在微信等webview中无法修改document.title的情况
  8. Cordova cannot add Android failed with exit code ENOENT
  9. 学习Android过程中的一些博客或工具收集
  10. Java创建对象的几种方式。
  11. Go语言学习笔记(2)
  12. 洛谷P4831 Scarlet loves WenHuaKe
  13. Java 中判断字符串是否为空
  14. 使用Promise
  15. LocalStorage漏洞分析
  16. Python数据类型之数字
  17. nRF52832 BLE_DFU空中升级OTA(二)编译下载(SDK14.2.0)
  18. 阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)
  19. spring框架(1)— 依赖注入
  20. 《Drools7.0.0.Final规则引擎教程》第3章 3.2 KIE API解析

热门文章

  1. 配置 java web Tomcat
  2. Hive_UDF函数中集合对象初始化的注意事项
  3. 从零开始学习前端JAVASCRIPT — 6、JavaScript基础DOM
  4. LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd)
  5. Python3 的注释
  6. CCF系列之数列分段(201509-1)
  7. MySQL字符集设置—MySQL数据库乱码问题
  8. C#如何释放已经加载的图片
  9. python操作mysql,增,删,改,查
  10. Python判断文件是否存在的三种方法【转】