数据类型
变量的数据类型
变量是用来存储值得所在处,它们有名字和数据类型。变量得数据类型决定了如何将代表这些值的位存储的计算机的内存中。JavaScript是一种弱类型或者硕士动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
JS不用声明类型
var age=10;//这是一个数字型
var areyouok='是的';//这是一个字符串
JS的数据类型可以变化
//js是动态语言 变量的数据类型是可以变化的
var x=10;
X='41';
数据类型的分类
简单数据类型
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含整型值和浮点型值,如21,0.21 | 0 |
Boolean | 布尔值类型,如true,false,等价于1,0 | false |
String | 字符串类型,如‘张三’ 注意咱们js里面,字符串都带引号 | ”“ |
Undefined | var a;声明了变量a但是没有给值,此时a=undefined | undefined |
Null | var a=null;声明了变量a为空值 | null |
Number
数字型进制
在JS中八进制前面加0,十六进制前面加0x
//1.八进制 0-7
var num1=010;
console.log(num1);//010 八进制 转换为10进制就是8
var num2=012;
console.log(num2);
//2.十六进制 0-9 a-f #fff
var num3=0x9;
console.log(num3);
var num4=0xa;
console.log(num4);
数字型范围
console.log(Number.MAX_VALUE);//1.7976931348623157e+308
console.log(Number.MIN_VALUE);//5e-324
数字型三个特殊值
console.log(Infinity);//代表无穷大,大于任何数值
console.log(-Infinity);//代表无穷小,小于任何数值
console.log(NaN);//代表一个非数值
isNaN()用这个方法来判断非数字,如果是数字返回false,否则返回true
字符串型String
字符串型可以是引号中的任一文本,其语法为==”双引号“和”单引号“==
在html标签里面的属性使用的是双引号,JS我们更推荐使用单引号
字符串引号嵌套
JS可以用单引号嵌套双引号,或者用双引号嵌套单引==(外双内但,外单内双)==
字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
转义符都是\开头的,常用的转义符及其说明如下:
转义符 | 解释说明 |
---|---|
\n | 换行符,n是newline的意思 |
\ | 斜杠\ |
’ | ‘单引号 |
" | ”双引号 |
\t | tab缩进 |
\b | 空格,b是blank的意思 |
字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。
var str='my name is 41';
console.log(str.length);
字符串拼接
这里有一个简单的交互编程,输入年龄,然后进行字符串拼接后输出你的年龄
var age=prompt('input your age:')
var str='your age is '+age;
alert(str);
其拼接方式为 字符串+任何类型=拼接之后的字符串
布尔型Boolean
复杂数据类型(这个之后的博客再介绍)
获取变量数据类型
typeof可用来检测变量的数据类型
var num=10;
console.log(typeof num);
prompt取过来的值是字符型的!
数据类型转换
转换为字符串
方式 | 说明 | 案例 |
---|---|---|
toString() | 转成字符串 | var num=1;alert(num.toString()); |
String()强制转换 | 转成字符串 | var num=1;alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num=1;alert(num+""); |
转换为数字型(重点)
方式 | 说明 | 案例 |
---|---|---|
parseInt(string)函数 | 将string类型转成整数数值型 | parseInt(’78‘) |
parseFloat(string)函数 | 将string类型转成浮点数数值型 | parseFloat(’78.21‘) |
Number()强制转换函数 | 将string类型转换为数值型 | Number(‘12’) |
js隐式转换(. * /) | 利用算数运算隐式转换为数值型 | ’12‘-0 |
注意I和F大写
计算年龄案例
var year=prompt('请输入您的出生年份:');
var age=2021-year;
alert('your age is '+age);
转换为布尔型
方式 | 说明 | 案例 |
---|---|---|
Boolean()函数 | 其他类型转成布尔值 | Boolean(’true‘); |
代表空,否定的值会被转换为false,如0,NaN,null,undefined
其余值都会被转换为true