1.变量的数据
变量用来存储值的所在处,有名字和数据类型。变量的数据类型决定将如何代表这些值的位存储到计算机内存中。JavaScript是一种弱类型或者说是动态语言。不用提前声明变量的类型,在程序运行中变量会被自动确定。
var age;//不确定类型
age = 10;//确定位整型
而java\C中是
int age = 10;//直接确定为整形
python中可以 不用声明
age = 10;
JavaScript拥有动态类型,同时也意味着相同的变量可以用作不同的类型
var x = 6;//x为数字
var x = "Bill"; //x为字符串
2.数据类型的分类
JS的数据类型分:简单数据类型(Number,String,Boolean,Underfined,Null)和复杂数据类型(object)
2.1简单数据类型
2.1.1 Number:数字型包括整形值和浮点型值,默认值是0
(1)进制
var num = 10; //num数字型
var PI = 3.14;//PI数字型
//八进制:0~7程序里数字前加0表示8进制数字
var num1 = 010;
console.log(num1);//打印输出的是8
var num2 = 012;
console.log(num2);//打印输出10
//十六进制:0~9 a~f程序里数字前加0x表示16进制数字
var num3 = 0x9;
console.log(num3);//打印输出的是9
var num4 = 0x12;
console.log(num4);//打印输出的是18
(2)数字型范围
JavaScript中数值的最大值(Number.Max_VALUE)和最小值(Number.MIN_VALUE)
Number.Max_VALUE: 1.7976931348623157e+308
Number.MIN_VALUE: 5e-324
Inifit:无穷大,大于任何数值
-Infint:无穷小,小于任何数值
NaN: not a number,代表一个非数值(例如字符串与某个整数进行加减运算)
(3)isNaN()
用于判断一个变量是否为非数字类型,如果是数值返回false,如果是非数字返回true
//isNaN()用这个方法用来判断非数字,并且返回一个值,如果是数字则返回false否则返回true
console.log(isNaN(12));//false
console.log(isNaN('pink 老师'))//true
2.1.2 String:字符串类型,默认值是空字符串""
(1)引号可以是单引号也可以是双引号,推荐在JS中用单引号(html中用双引号)
(2)转义字符
\n: 换行
\: 斜杠
‘: 单引号‘
": 双引号"
\t: tab缩进
\b: 空格(b是blank的意思)
(3)字符串长度及拼接
length属性用于获取字符串的长度:
//检测字符串长度length
var str = 'my name is andy';
console.log(str.length);
利用‘+‘进行字符串的拼接,口诀:数值相加,字符相连:
console.log('沙漠'+'骆驼');//沙漠骆驼
//字符型和其他类型进行拼接最后的结果还是字符串型的
console.log('pink老师'+18);//pink老师18
console.log(18+'pink老师');//18pink老师
console.log(true+'pink');//truepink
console.log('12'+12);//1212
//但是以下就不是拼接
console.log(12+12);//24
字符串拼接加强:
var age = 18;
console.log('pink老师'+age+'岁');
案例:
//弹出一个输入框,需要用户输入年龄,之后弹出一个警示框显示“您今年xx岁啦”
age = prompt('请输入年龄');
alert('您今年岁'+age+'啦');
2.1.3 Boolean:布尔值类型如true,false,默认值false
var flag = true;
var flag1 = false;
console.log(flag+1);//2
console.log(flag1+1);//1
2.1.4 Undefined
var a;声明了变量但是没有给值,此时a=underfined,默认值underfined
//如果一个变量声明但是未赋值 就是underfined未定义数据类型
var str;
console.log(str);//undefined
var variable = undefined;
console.log(variable);//undefined
console.log(variable+'pink');//undefinedpink 字符串类型
console.log(variable+1);//NaN undefined和数字相加最后的结果是NaN
console.log(variable+true);//NaN
2.1.5 Null:
var a=null;声明了变量a为空值
//null
var space = null;
console.log(space);
console.log(space+'pink');//nullpink
console.log(space+1);//1
3.获取变量的数据类型
3.1 typeof
typeof可以用来获取检测变量的数据类型
var num = 10;
console.log(typeof num);//number
var str = 'pink';
console.log(typeof str);//string
var flag = true;
console.log(typeof flag);//boolean
var vari = undefined;
console.log(typeof vari);//undefined
var timer = null;
console.log(typeof timer);//object
利用typeof验证prompt取过来的值的类型
age = prompt('请输入您的年龄');
console.log(age);//18
console.log(typeof age);//string
3.2 console
除了可以用typeof来检测变量属于哪一种类型还可以通过浏览器控制台console的颜色来判断属于哪一种数据类型
console.log(18);//数字型 纯蓝色
console.log('18');//字符型 黑色
console.log(true);//布尔型 墨蓝色
console.log(undefined);//浅灰色
console.log(null);//浅灰色
3.3 字面量
字面量是在源代码中一个固定值的表示方法,通俗来说就是字面量表示如何表达这个值
数字字面量: 8,9,10
字符串字面量: ‘黑马程序员‘,‘大前端‘
布尔字面量:true,false
4. 数据类型转换
4.1 什么是数据类型转换
使用表单(input)、prompt获取过来的数据默认是字符串类型,此时就不能直接简单地进行加法运算,而需要转换变量的数据类型,通俗来说就是把一种数据类型变量转化成另一种数据类型。
常用的3种方式的转换:
- 转换为字符串类型
- 转换为数字型
- 转换为布尔型
4.1.1 转换为字符串类型
var num = 10;
//1. 把数字型转换成字符串 格式:变量.toString()
var str = num.toString();
console.log(str);
console.log(typeof str);
//2. 我们利用String() 格式:String(变量)
console.log(String(num));
//3. 利用+拼接字符串的方法实现转换效果 隐式转换
console.log(num+'');
4.1.2 转换为数字类型(重点)
(1)方法1:parseInt(变量)
var age = prompt('请输入您的年龄');
//1. parseInt(变量) 可以把字符型的转化为数字型 得到的是整数(直接把小数点后面的数字抹掉)
console.log(parseInt(age));
console.log(parseInt('18.9')); //18
console.log(parseInt('120px')); //120 会直接将后面的字母去掉
console.log(parseInt('rem120px'));//NaN
(2)方法2:parseFloat(变量)
//2. parseFloat(变量)可以把字符型转化为数字型 得到的是小数 浮点数
console.log(parseFloat('3.14'));
console.log(parseFloat('120px')); //120 会直接将后面的字母去掉
console.log(parseFloat('rem120px'));//NaN
(3)方法3:Number(变量)
//3. 利用Number(变量)
var str = '123';
console.log(Number(str));
console.log(Number('12'));
(4) 利用了算数运算-*/隐式转换
//4. 利用了算数运算-*/隐式转换
console.log('12'-0);//12 若中间是加号则'120'
console.log('123'-'120');//3 若是加号则是'123120'
console.log('123'*1);//'123'
console.log('123'/1);//'123'
原文地址:https://www.cnblogs.com/deer-cen/p/11978679.html