【那什么,用软件记笔记更方便查看,blog略麻烦,更适合分享技术吧。。】
JavaScript 是一种弱类型或者说动态语言,不用提前声明变量的类型,程序运行过程中,类型会被自动确定。
var age = 9; // 这是一个数字型
var isGreat = 'Yes'; // 这是一个字符串
相同的变量可用作不同的类型:
var n = 9; // n 为数字
var n = "Aney"; // n 为字符串
JS 把数据类型分为两类:
简单数据类型 ( Number, String, Boolean, Undefined, Null);
复杂数据类型 ( object)。
1. 数字类型Number
JavaScript 数字类型既可以用来保存整数值,也可以保存小数(浮点数)。
var age = 9; // 整数
var grade = 149.5; // 小数
JS中八进制前面加0,十六进制前面加 0x。
// 1.八进制数字序列范围: 0~7
var num2 = 023; // 对应十进制的19
var num3 = 010; // 对应十进制的8
// 2.十六进制数字序列范围: 0~9以及A~F
var num = 0xA; // 对应十六进制的10
JavaScript中数值的最大和最小值。
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Number.MIN_VALUE); // 5e-324
数字型三个特殊值:Infinity、-Infinity 和 NaN。
- Infinity ,代表无穷大,大于任何数值
- -Infinity ,代表无穷小,小于任何数值
- NaN , Not a number,代表一个非数值
isNaN(),用来判断一个变量是否为非数字的类型,返回 true 或者 false。
2. 字符串型 String
(1)可以是引号中的任意文本, 其语法为 双引号 " " 或者单引号' '。
(2)JS 可以用单引号嵌套双引号 , 或者用双引号嵌套单引号 (外双内单,外单内双)
(3)转义符:
- \n ==换行符, newline
- \ \ ==斜杠 \
- \'== ' 单引号
- \" ==” 双引号
- \t ==tab 缩进
- \b ==空格,blank
字符串的 length 属性可以获取整个字符串的长度。
var strMsg = "ABCDEFG";
alert(strMsg.length); // 显示7
字符串拼接: 字符串 + 任何类型 = 拼接之后的新字符串
//1.1 字符串 "相加"
alert('hello' + ' ' + 'world'); // hello world
//1.2 数值字符串 "相加"
alert('100' + '100'); // 100100
//1.3 数值字符串 + 数值
alert('100' + 200); // 100200
var age = 18;
console.log('chao' + age); // chao18
console.log('chao' + age + '岁啦'); // chao18岁啦
3. 布尔型 Boolean
布尔类型有两个值: true 和 false ,其中 true 表示真( 对) ,而 false 表示假( 错) 。
布尔型和数字型相加的时候, true 的值为 1 , false 的值为 0。
console.log(true + 18); // 19
console.log(false + 18); // 18
4. Undefined 和 Null
一个声明后没有被赋值的变量会有一个默认值 undefined ( 如果进行相连或者相加时,注意结果)
var variable;
console.log(variable); // undefined
console.log('你好' + variable); // 你好undefined
console.log(100 + variable); // NaN,与数字相加not a number
console.log(true + variable); // NaN, boolean类型结果也是数字
一个声明变量给 null 值, 里面存的值为空
var vari = null;
console.log('你好' + vari); // 你好null
console.log(100 + vari); // 100
console.log(true + vari); // 1
5. 检测变量的数据类型
typeof 可用来获取检测变量的数据类型
var age = 18;
console.log(typeof age) // 结果 number
不同类型的返回值:
类型 | 例子 | 结果 |
String | typeof "address" | "string" |
Number | typeof 18 | "number" |
Boolean | typeof true | "boolean" |
Undefined | typeof undefined | "undefined" |
Null | typeof null | 'boject' |
6. 数据类型转换
把一种数据类型的变量转换成另外一种数据类型
- 转换为字符串类型
方式 | 说明 | 例子 |
toString() | 转成字符串 | var num=1; alert(num.toString()); |
String()强制转换 | 转成字符串 | var num=1; alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num=1; alert(num+"字符串"); |
- 转换为数字型
方式 | 说明 | 例子 |
parseInt(string) | 将string类型转成整数数值型 | parseInt('80'); // 80 parseInt('80.5'); // 80向下取整 parseInt('120yuan'); // 120 parseInt('is120yuan'); // NaN |
parseFloat(string) | 将string类型转成浮点数数值型 | parseFloat('99.5');// 其余同上 |
Number() | 将string类型转成数值型 | Number('12'); |
js隐式转换(- * /) | 利用算数运算隐式转换为数值型 | '12'-0 |
- 转换为布尔型
方式 | 说明 | 例子 |
Boolean()函数 | 其他类型转换成布尔型 | Boolean('true'); |
代表空、 否定的值会被转换为 false ,如 ''、 0、 NaN、 null、 undefined;
其余值都会被转换为 true。
来源:oschina
链接:https://my.oschina.net/u/2426462/blog/4303155