javaScript知识点
一、常量和变量
1、数字常量:不需要加符号,可以是整数,也可以是浮点数
2、字符串常量:用单引号或双引号括起来的内容
3、布尔常量:用true和false来表达
if (true) {
console.log("这是真的");
}
4、自定义常量:const,const 常量名称 = 常量取值;
const name = '咩咩'
5、变量赋值:var a=100;
修改变量的值:var a=100;a=110;
定义多个变量:var name1,name2;
6、变量声明和赋值的特殊情况
a、先声明,在赋值(正常)b、不声明,直接赋值(正常)
c、只声明,不赋值(undefined)d、不声明、不赋值、直接使用会报错
二、变量的数据类型:基本数据类型和引用数据类型
基本数据类型(值类型):String 字符串、Number 数值、BigInt 大型数值、Boolean 布尔值、Null 空值、Undefined 未定义、Symbol
引用数据类型(引用类型):Object 对象
注意:内置对象 Function、Array、Date、RegExp、Error 等都是属于 Object 类型。也就是说,除了那七种基本数据类型之外,其他的,都称之为 Object 类型
重点:数据类型之间最大的区别
基本数据类型:参数赋值时候,传数值
引用数据类型:参数赋值时候,传地址
模板字符串:
const result = {
name: 'qianguyihao',
age: 28,
sex: '男',
};
// 模板字符串支持换行
const html = `<div>
<span>${result.name}</span>
<span>${result.age}</span>
<span>${result.sex}</span>
</div>`;
使用 String()函数做强制类型转换时:
-
对于 Number、Boolean、Object 而言,本质上就是调用 toString()方法。
-
但是对于 null 和 undefined,则不会调用 toString()方法。它会将 null 直接转换为 "null"。将 undefined 直接转换为 "undefined"
3、Number()函数
a、字符串 --> 数字,b、布尔 --> 数字,c、null --> 数字,结果为:0,d、undefined --> 数字,结果为:NaN
4、使用parseInt()函数:字符串——》整数
四、运算符
1、==
这个符号,它是判断是否等于,而不是赋值。
2、三元运算符
语法:条件表达式 ? 语句1 : 语句2
条件运算符在执行时,首先对条件表达式进行求值:
-
如果该值为 true,则执行语句 1,并返回执行结果
-
如果该值为 false,则执行语句 2,并返回执行结果
如果条件的表达式的求值结果是一个非布尔值,会将其转换为布尔值然后再运算
五、流程控制语句
1、if
条件判断:
if (条件表达式) { // 条件为真时,做的事情 }
多分支语句:
if (条件表达式1) {
// 条件1为真时,做的事情
} else if (条件表达式2) {
// 条件1不满足,条件2满足时,做的事情
} else if (条件表达式3) {
// 条件1、2不满足,条件3满足时,做的事情
} else {
// 条件1、2、3都不满足时,做的事情
}
2、switch语句(条件语句分支)
switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... ... default: 语句体 n+1; break; }
3、for循环语句
for(①初始化表达式; ②条件表达式; ④更新表达式){ ③语句... }
执行流程:
①执行初始化表达式,初始化变量(初始化表达式只会执行一次) ②执行条件表达式,判断是否执行循环: 如果为true,则执行循环③ 如果为false,终止循环 ④执行更新表达式,更新表达式执行完毕继续重复②
4、while循环语句
while(条件表达式){
语句...
}
5、do...while 循环
do{
语句...
}while(条件表达式)
- while 是先判断后执行,而 do...while 是先执行后判断。
也就是说,do...while 可以保证循环体至少执行一次,而 while 不能。
六、内置对象String
1、indexOf()/lastIndexOf():获取字符串中指定内容的索引
2、最常用的字符串转换为数组split()
新的数组 = str.split(分隔符)
split()
这个方法在实际开发中用得非常多。一般来说,从接口拿到的 json 数据中,经常会收到类似于"q, i, a, n"
这样的字符串,前端需要将这个字符串拆分成['q', 'i', 'a', 'n']
数组
3、