1.数据类型简介
1.数据类型简介
1.2变量的数据类型
- JS的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的
- 我们不确定属于哪种数据类型的
代码示例:
<script>
//int num = 10; Java
//var num; 这里的num我们不确定属于哪种数据类型的
var num = 10; //num属于数字型
//js 的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的
var str = 'pink'; //str字符串型
//js是动态语言 变量的数据类型是可以变化的
var x = 10; //x 是数字型
x = 'pink'; //x字符串型
</script>>
2.简单数据类型
2.1简单数据类型(基本数据类型)
2.2数字型Number
1.数字型进制
最常见的二进制、八进制、十进制、十六进制。
代码案例:
<script>
var num = 10; //num 数字型
var PI = 3.14; //PI数字型
// 八进制 0~7 我们程序里面数字前面加0 表示八进制
var num1=010;
console.log(num1); //010 八进制 转换为10进制 就是 8
var num2 = 012;
console.log(num2);
//2.十六进制 0~9 a~f #ffffff 数字的前面加0x 表示十六进制
var num3 = 0x9;
console.log(num3);
var num4 = 0xa;
console.log(num4);
//3.数字型的最大值
console.log(Number.MAX_VALUE);
//4.数字型的最小值
console.log(Number.MIN_VALUE);
//5.无穷大
console.log(Number.MAX_VALUE*2); //Infinity 无穷大
//6.无穷小
console.log(-Number.MAX_VALUE*2); //-Infinity 无穷大
//7.非数字
console.log('pink老师' -100); //Nan
</script>
现阶段我们只需要记住,在JS中八进制前面加0,十六进制前面加0x
4.isNan()
- 用来判断一个变量是否为非数字的类型,返回true或者false
<script>
//isNaN()这个方法用来判断非数字 并且返回一个值 如果是数字返回的是 false 如果不是数字返回是true
console.log(isNaN(12)); //false
console.log(isNaN('pink老师')); //true
</script>
2.3字符串型String
1.字符串引号嵌套
JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
2.字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
转义符都是\开头的,常用的转义符及其说明如下:
代码案例:
<script>
//'pink' 'pink老师'
var str = '我是一个"高富帅"的程序员';
console.log(str);
//字符转义字符 都是用 \ 开头 但是这些转义字符写道引号里面
var str1 = "我是一个'高富帅'\n的程序员";
console.log(str1);
</script>
3.字符串长度
//1.检测获取字符串的长度 length
var str = 'my name is andy';
console.log(str.length); //15
4.字符串拼接
多个字符串之间可以使用+进行拼接,其拼接方式为字符串+任何类型=拼接之后的新字符串
拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
<script>
//1.检测获取字符串的长度 length
var str = 'my name is andy';
console.log(str.length); //15
//2.字符串的拼接 +
console.log('沙漠'+ '骆驼'); //字符串的 沙漠骆驼
console.log('pink老师' + 18); //pink老师18
console.log('pink' + true); //pinktrue
console.log(12 + 12); //24
console.log('12' + 12); //1212
</script>
总结:数值相加,字符相连
5.字符串拼接加强
- 我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值
- 变量是不能添加引号的,因为加引号的变量会变成字符串
- 如果变量两侧都有字符串拼接,口诀“引引加加”,删掉数字,变量写加中间
<script>
console.log(); //pink老师18
console.log('pink老师' + 18 + '岁');
var age = 19;
// console.log('pink老师age岁'); //错误
//我们变量不要写到字符串里面,是通过和字符串相连的方式实现的
console.log('pink老师' + age + '岁');
//变量和字符串相连接的口诀:引引加加
console.log('pink老师'+ age +'岁');
</script>
案例分析:
<script>
var age = prompt('请输入您的年龄');
var str = '您今年已经' + age + '岁';
alert(str);
</script>
2.5布尔型Boolen
2.6Undefind和Null
一个声明后没有被赋值的变量会有一个默认值undefined(如果进行相连或者相加时,注意结果)
一个声明变量给null值,里面存的值为空(学习对象时,我们继续研究null)
代码案例:
<script>
var flag=true; //flag布尔型
var flag1 = false; //true布尔型
console.log(flag +1); //true 参与加法运算当1来看
console.log(flag1 +1); //false 参与加法运算当0来看
//如果一个变量声明来赋值 就是undefined 未定义数据类型
var str;
console.log(str);
var variable = undefined;
console.log(variable + 'pink'); //undefinedpink
console.log(variable + 1); //undefined 和数字相加 最后的结果是 Nan
//null 空值
var space =null;
console.log(space + 'pink'); //nullpink
console.log(space + 1); //1
</script>
3.获取变量数据类型
3.1获取检测变量的数据类型
- typeof可用来获取检测变量的数据类型
<script>
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
//prompt 取过来的值是 字符型的
var age = prompt('请输入您的年龄');
console.log(age);
console.log(typeof age);
</script>
3.2字面量
字面量是在源码中一个固定值的表示方法,通俗来说,就是字面量表示如何表达这个值。
- 数字字面量:8,9,10
- 字符串面量:‘黑马程序员’,“大前端”
- 布尔字面量:true,false
<script>
console.log(18);
console.log('18');
console.log(true);
console.log(undefined);
console.log(null);
</script>
4.数据类型转换
4.1什么是数据类型转换
使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的是数据类型。通俗来说,就是 把一种数据类型的变量转换成另一种数据类型。
我们通常会实现3中方式的转换:
- 转换为字符串类型
- 转换为数字型
- 转换为布尔型
4.2转换为字符串
- tostring()和String使用方式不一样
- 三种转换方式,我们更喜欢用第三种加号拼接字符串转换方式,这一种方式也称之为隐式转换。
代码案例:
<script>
//1.把数字型转换为字符型 变量.tostring()
var num = 10;
var str = num.toString();
console.log(str);
console.log(typeof str);
//2.我们利用string(变量)
console.log(String(num));
//3.利用 + 拼接字符串的方法实现转换效果
console.log(num + '');
</script>
4.3转换为数字型(重点)
- 注意parselnt和parseFloat单词的大小写,这2个是重点
- 隐式转换是我们在进行算术运算的时候,JS自动转换了数据类型
<script>
// var age = prompt('请输入您的年龄');
// 1.parseInt(变量) 可以把 字符型的转换为数字型 得到是整数
// console.log(parseInt(age));
console.log(parseInt('3.14')); //3取整
console.log(parseInt('3.94')); //3取整
console.log(parseInt('120px')); //120会去到这个px单位
console.log(parseInt('rem120px')); //NaN
//2.parseFloat(变量)可以把 字符型的转换为数字型 得到是小数 浮点数
console.log(parseFloat('3.14')); //3.14
console.log(parseFloat('120px')); //120会去到这个px单位
console.log(parseFloat('rem120px')); //NaN
// 3.利用Number(变量)
var str = '123';
console.log(Number(str));
console.log(Number('12'));
//4.利用了算数运算 - * / 隐式转换
console.log('12' - 0); //12
console.log('123' - '120');
console.log('123' * 1);
</script>
计算年龄案列:
- 此案例要求在页面弹出一个输入框,我们输入出生年份后,能计算出我们的年龄。
代码案例:
<script>
var year = prompt('请您输入您的出生年份');
var age = 2021 - year; //year取过来的是字符型 但是这里用的减法 有隐式转换
alert('您今年已经' + age + '岁');
</script>
简单加法器:
计算两个数的值,用户输入第一个值后,继续弹出第二个输入框并输入第二个值,最后通过弹窗显示出两次输入值相加的结果。
<script>
var num1 = prompt('请您输入第一个值');
var num2 = prompt('请您输入第二个值');
var result = parseFloat(num1) + parseFloat (num2);
alert('您的结果是:' + result);
</script>
4.4转换为布尔类型
请先 后发表评论~