简单/复杂数据类型
1、number:数字型,包含整型和浮点型 默认值为0
2、string:字符串类型 默认为""
3、boolean:布尔型:true和false 默认值为false
4、undefined:未赋值,声明后未赋值 默认为undefined
5、null:空值 默认为null
对象类型:Object、Date、Array
2 个不包含任何值的数据类型:null、undefined
复杂数据类型:object
Number
数字类型
我们数学中学习到的数字,可以是整数、小数、正数、负数。
进制
八进制前面加0,十六进制前面加0x
js中数值最大和最小值
-
alert(Number.MAX_VALUE) //数值的最大值
-
alert(NUm从ber.MIN_VALUE) //数值的最小值
js中无穷大和无穷小
-
alert(Infinity) //Infinity代表无穷大,大于任何数值
-
alert(-Infinity)//-Infinity代表无穷小,小于任何数值
-
alert(NaN)//NaN代表一个非数值
isNaN()方法
-
方法判断是否是数字,返回true或false
-
NaN 表示一个非数字,但是它本身是数字类型
-
任何设涉及NaN的操作(NaN/10)返回的都是NaN
-
NaN和任何值都不想等,包括它本身
-
isNaN(n) 检测n是否是非数值,返回boolean
-
isNaN() 对接收的数值,先尝试转换为数值,再检测是否是非数值 age=“16” isNaN(age) 返回false
String:
string使用格式
字符串使用需要加单引号或者双引号,推荐单引号
字符串引号嵌套
外单内双、外双内单,引号匹配最近原则
转义符
\n 换行
\ 斜杠
'单引号
"双引号
\t tab缩进
\b 空格
测字符串长度
str.length
字符串拼接
字符串+任何类型=拼接之后的新字符串
任何属性拼接后都是字符串
变量和字符串的链接方式
变量要通过和字符串相连方式连接,变量不能加引号,变量不要写到字符串内,是通过+相连接的
var age = 19; console.log('今年我age岁') console.log('今年我' + age + '岁')
模板字符串应用
- 里面可以写变量
let name = prompt{‘请输入姓名’}
alert(‘我叫’+name)
alert(我叫${name}
)
上面两种等价
-
可以换行
`
内容
`
booean
true当1,false当0
undefined/null
console.log(variable + 'pink') //undefinedpink
console.log(variable + 1) //NaN undefined
undefined 未定义的变量 派生自null undefined == null 为true
null 空类型 可以作为初始值
undefined没赋值,null赋值了,内容为空
null空值
var space = null
console.log(space + 'pink') //nullpink
console.log(space + 1) //1
typeof
能识别所有的值类型
识别函数
判断是否为引用类型(不可细分)
prompt取过来的值是字符型
typeof 变量 或者 typeof(变量) 检测数据类型
控制台内显示:
蓝色:数字型
黑色:字符串类型
深影蓝色:布尔型
灰色:undefined、null
数据类型转换
转换成字符型:
1、str.toString()
2、String()
任何类型都可以转换
当不知道是否是null或者undefined时候使用这个
3、加号拼接字符串(‘str’ + num) =strnum
转换成数字型:
1、**Number(变量)**强制类型转换函数 //将string类型转换为数值型
Number可用于任何数据类
2、parseInt(变量)函数 //将String类型转换成整数数值类型
3、parseFloat(变量)函数 //将String类型转换成浮点数数值型
注意事项:
Number(变量):如果字符串内容中有数字,返回NaN
parseInt():只保留整数
-
parseInt()和parseFloat()专门用于把字符串转换成数值
-
parseInt()操作参数必须以数字开头,可以提取出数字(28px可以提取出28) ,非数字(abc12 则返回NaN)
-
parseInt会忽略字符串前面的空格
-
parseInt(“0xf” , 16) 16为进制
parseFloat()
-
parseFloat():从第一个字符开始解析每个字服,直至遇到一个无效的浮点数字符为止
-
除了第一个小数点有效外,parseFloat()始终会忽略前导的0
parseFloat(“12.34px”) //12.34
parseFloat(“12.34.23x”) //12.34
parseFloat(“0123”) //123
parseFloat(“0.123”) //0.123
- parseInt()、parseFloat() 如果第一个字符为非数字,则返回 NaN
4、js隐式转换(- * /) //利用算数运算隐式转换为数值型
转换成boolean
Boolean() 强制转换
注意事项:
-
代表空否定的值会被会被转换为false,如" "、0、NaN、null、undefined,其余转换为true
-
除0之外所有 数字转换为布尔型都为true
-
除 " " 之外所有字符,转换为布尔型都为true
-
null 和 undefined 转换为布尔型都为false
字符串属性
constructor 返回创建字符串属性的函数
length 返回字符串的长度
prototype 允许您向对象添加属性和方法