一 数据类型 1: Js是弱类型语言,声明变量的时候并不能确定类型,只有赋值才能确定类型. prompt('输入:可以接受用户的输入,输入内容是字符串[带引号的都是字符串]') let age = prompt ("请输入分数") console.log(age+10)
结论:虽然js是弱类型语言,但在业务处理时候需要考虑类型.
2: 基本数据类型 [1.number.数字型] [2.string.字符串型] [3.boolean.布尔型] [4.undefined. 未定义型] [5.null 空类型]
引用数据类型 [object 对象]
[function 函数]
[array 数组]
3.字符串
<script>
//字符串:有引号(双引号,单引号,反引号)包含
//在常规使用的时候,引号的作用没有区别,都是代表字符串
//注意事项:引号需要交替嵌套使用,如外单内双,外双内单
// 字符串拼接: +是字符串连接符
// let userName = 'jack'
// console.log('我的名字叫' + userName);
// +是字符号连接符, 组成字符串,输出内容是 201
// 逻辑是 '我的年龄是' + age 是字符串 ,这部分在 +1
// 没写括号是从左到右开始算
// let age = 20
// console.log('我的年龄是' + age + 1);
// 有括号, (age+1) 以数值显示(运算符), 输出内容是 21
// console.log('我的年龄是' + (age + 1));
// 先定义变量
let userName = 'jack'
age = 20
gender = '男'
// 输出
// , 不能放在括号外面, 外面属于运算符.不显示 . 放在括号里面属于字符串 正常显示
console.log (
'我的姓名是'+ userName + ',我的年龄是' + age + ',我的性别是' + gender
);
</script>
4.反应号
<script>
let userName = 'jack'
age = 20
gender = `男`
// ``: 可以解析变量
// ${变量| 表达式}:会解析变量和表达式,替换这个结构
console.log(
`我的姓名是${userName}, 我的年龄是${age} , 我的性别是${gender}`
);
// 反引号 `` 可以创建多行文本
let str = `
<h1>${userName}</h1>
<h2>${age}</h2>
<h3>${gender}</h3>`
document.write(str)
</script>
5.未定义是比较特殊的类型,只有一个值 underfined
总结使用:
1. let age ; console . log(age)
只声明 不赋值 结果: underfined
2.console. log(age)
不声明 不赋值 直接使用 结果:报错
3. age = 10; console.log(age)
不声明 只赋值 结果: 10(不提倡)
null 空类型
let obj = null
null 和 undefined 区别:
1. underfined 表示没有赋值
2. null 表示赋值了,但是内容为空
6.类型转换
<script>
// 一 .数值转换
// let num = '12.345'
// 希望去除num的小数部分>>12
// Number:讲变量强制装换位数值类型
// console.log(typeof num , typeof Number(num));
// 面试题常见题目
// let num = '12.345abc'
// Number在进行类型转换的时候,如果发现有非数值,则返回NaN
// NaN:not a number ,它的类型刚好是number
// console.log(Number(num))
// console.log (typeof num , typeof Number (num))
// parse:转换
// int:integer 整数
// parseInt:讲数据转换为整数
// 特点:会进行类型转换,直到碰到非数值为止,如果第一位就是非数值,那么久返回NaN.
// console.log(parseInt(num));
// 保留小数用 Float
// console.log(parseFloat(num));
// 二: 字符串转换:将其他类型的数据转换为字符串
let num = 123
console.log(typeof num);
console.log(typeof (num + ''));
console.log(typeof (num + ''));
console.log(typeof (num + ``));
// String 明确转换字符串值
console.log(typeof String(num))
// toString 变量 转换字符串值
console.log(typeof num.toString())
</script>
7. 类型转换案例
<script>
// 从键盘输入两个值,求和
let num1 = +prompt('请输入第一个数')
let num2 = +prompt ('请输入第二个数')
// 检测是否为字符串
console.log(typeof num1,typeof num2);
console.log('和为'+(num1 + num2) );
</script>