[TOC]
>[info]数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。
变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。
js数据类型有(字符串、数字、布尔、数组、对象、Null、Undefined)。
## JavaScript 拥有动态类型
>[success]JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:(弱类型,松散型)。
~~~
var x // x 为 undefined
var x = 6; // x 为数字
var x = "Bill"; // x 为字符串
~~~
### JavaScript 字符串
>[success]字符串是存储字符(比如 "Bill Gates")的变量。
**单双引号的用法**
1. 效率差不多。
2. 只能成对出现,不能相互交叉使用。
3. 可以相互嵌套。
~~~
var carname="Bill Gates";
var carname='Bill Gates';
~~~
### JavaScript 数字
>[success]JavaScript 只有一种数字类型。数字可以带小数点,也可以不带。
~~~
var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
~~~
### JavaScript 布尔
>[success]布尔(逻辑)只能有两个值:true 或 false。
~~~
var x=true;
var y=false;
~~~
### JavaScript 数组(后面重点讲)
>[success]存储一系列相关数据的容器,一种特殊的数据类型,下面的代码创建名为 cars 的数组:
~~~
var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";
~~~
### JavaScript 对象(后面重点讲)
>[success]json对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
~~~
var person={firstname:"Bill", lastname:"Gates", id:5566};
~~~
### Undefined 和 Null
>[success]Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。
~~~
cars=null;
person=null;
~~~
## 类型相关常用函数
### typeof 运算符
>[success]typeof 运算符有一个参数,即要检查的变量或值。例如:
~~~
var sTemp = "test string";
alert (typeof sTemp); //输出 "string"
alert (typeof 86); //输出 "number"
~~~
>[success]对变量或值调用 typeof 运算符将返回下列值之一:
* undefined - 如果变量是 Undefined 类型的
* boolean - 如果变量是 Boolean 类型的
* number - 如果变量是 Number 类型的
* string - 如果变量是 String 类型的
* object - 如果变量是一种引用类型或 Null 类型的
### Number() 函数
>[success]Number() 函数把对象的值转换为数字。
~~~
alert(Number("888"));
~~~
**注意事项:**
1. 如果是布尔值,false为0,true为1
2. 如果是数字,转换成为本身。将无意义的后导0去掉。
3. 如果是undefined 转换为NaN not a number
4. 如果是字符串
* 如果字符串当中只有数字,转换为10进制(忽略前导0和后导0)
* 如果是有效的规范的浮点型,转换为浮点值(忽略前导0和后导0)
* 如果是空字符串,则转换为0
* 如果是其他的值,返回NaN
### parseInt() 函数
>[success]parseInt() 函数可解析一个字符串,并返回一个整数。
~~~
parseInt("10"); //返回 10
parseInt("19px"); //返回 19
~~~
1. 如果一个字符串只包含数字,则以10进制的方式转换为整型。
2. 他会自动忽略字符串前面的空格,直到找到第一个非空的数值字符串,如果字符串的第一个字符不是空格、数字、-,那么返 回NaN。
### eval() 函数
>[success]函数可计算某个字符串,并执行其中的的 JavaScript 代码。
~~~
var str = '1+2';
alert(eval(sta));
~~~
>[danger]**作业:**理解类型的作用和如果判断数据类型。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板