基本数据类型:number(数字型),string(字符串型),boolean(布尔型),undefined(未定义),null(空值)
1.数字型Number
就是我们数学中的数字,可以是整数、小数、正数、负数
//弱数据类型的语言 只有当我们赋值了,才知道是什么数据类型
let score = 100 //正整数
let price = 12.345//小数
let t = -40//负数
算术运算符
数学运算符也叫算数运算符,主要包括(+)、减(-)、乘(*)、除(/)、取余(%)(取模)
注意:先乘除再加减,有括号先算括号里面的(开发中经常作为某个数字是否被整除 )
console.log(3 % 5);//3
console.log('小强' - 3);//NaN
console.log(2 / 4);//0.5
let num = 60 //正整数
NaN(not a number)
NaN代表一个计算错误。他是一个不正确的或者一个未定义的数学操作所得到的结果
console.log('波波' - 2)
console.log(NaN - 2)
console.log(NaN + 2)
console.log(NaN / 2)
console.log(NaN === NaN)
2.字符串型String
通过单引号( '') 、双引号( "")或反引号包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
注意事项:
1.无论单引号或是双引号必须成对使用
2.单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单 或者外单内双)
3.必要时可以使用转义符 \,输出单引号或双引号
let str = '波波'
let str1 = "波波"
// 反引号
let str2 = `中文`
console.log('波博非常有'激动'')// 报错
console.log('波哥非常有"基情"')//正确
console.log('波哥非常有\'基情\'')//正确
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个 字符串的长度
// 检测获取字符串的长度 length
let str = 'my name is ldh';
console.log(str.length);
字符串拼接(口诀:数字相加,字符相连)
+运算符可以实现字符串的拼接
console.log(1 + 2)
console.log('我叫' + 'sober')
let age = 25
document.write('我今年' + age + '岁了')
模板字符串
模板字符串 外面用`` 里面 ${变量名}
// let age = 20
// document.write(`我今年${age}岁了`)
let uname = prompt('请输入您的姓名:')
let age = prompt('请输入您的年龄:')
// 输出
document.write(`大家好,我叫${uname}, 我今年贵庚${age}岁了`)
3.布尔型Boolean
表示肯定或否定时在计算机中对应的是布尔类型数据,它有两个固定的值 true 和 false,表示肯定的数据用 true,表示否定的数据用 false。
4.未定义undefined
未定义是比较特殊的类型,只有一个值 undefined,只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。
注意:我们开发中经常声明一个变量,等待传送过来的数据。 如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判 断用户是否有数据传递过来。
// 未定义类型 弱数据类型 声明一个变量未赋值就是 undefined
let num
console.log(num)//undefined
5.空类型Null
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值
let obj = null
console.log(obj)
//计算有区别
console.log(undefined + 1)//NaN
console.log(null + 1);//1
undefined与null的区别
- undefined表示没有赋值
- null表示赋值了,但是为空
引用数据类型 Object
可以理解为是一种无序的数据集合,注意数组是有序的数据集合
可以详细的描述某个事物
语法:
let 对象名 = {} //字面量声明对象
let 对象名 = new Object
let 对象名 = {
属性名:属性值,
方法名:函数
属性就是依附在对象里的变量
}
对象的增删改查
<script>
let goods= {
name : '小米10青春版',
num : 100012816024,
weight :'0.55kg',
address :'中国大陆'
}
document.write(`${typeof goods}`)
console.log(goods)
console.log(typeof goods)
// 改 (判断有没有这个属性,没有就是增,有就是改)
goods.name = '小米10PLUS'
// 增
goods.color = 'pink'
// 查
console.log(goods.name)
console.log(goods.num)
console.log(goods.weight)
// 删
delete obj.age
console.log(obj)
</script>
对象中的方法
// 数据行为性的信息称为方法,如跑步、唱歌,一般性的动词性,其本质是函数
1.方法是由方法名和函数两部分构成,他们之间用 : 隔开
2.多个属性之间使用英文,分隔
3.方法是依附在对象中的函数
4.方法名可以使用“或”,一般情况下省略,除非名称遇到特殊符号如空格、中横线
let pink = {
// 属性
uname : '刘进强',
song :function(){
console.log('捉泥鳅');
},
sun:function(x,y){
return (x+y)
}
}
pink.song()
let sun = pink.sun(1,2)
console.log(sun)
console .log( pink.song())//undefined