js中的数据类型分为两种
原始类型中包括:
数值类型 number
字符串类型 string
布尔类型 boolean (在布尔类型中,只有两个值 false 和 ture)
默认类型 undefined
空对象 unll
单值:一个变量只能有一个值
动态:数据类型的具体类型,由他的值决定
例子:let a =(100);
在这里的a是数值类型,因为赋予他的值 是数值100.let a =('100');
这里的a就变成了字符串类型,因为赋予他的值是字符串类型。
引用类型中包含:
1.数组中的成员可以使原始类型也可以是引用类型
2.数组的声明必须是常量
3.数组用方括号包围const a = [0,1,2,3,4,5,6,7,.....]
这就是一个数组
1.常用的查看方法,会在控制台输出数组中数据的健名和值console .log(a);
2.以表格方式输出 比第一种方法更加直观console .table(a);
3.如果只想查看其中一个,则在a后用方括号表示出对应的键名(数组的键名从0开始)console .log(a[2]);
4.加上length 可以查看数组的元素数量console.log(a.length);
对象也要用常量声明,用大括号表示
const b ={name:’手机’,unm:5 ,jiage:1599};
在对象的声明中name.unm就是键名,手机,5就是他的值,在调用其中一个时只需要用方括号,标识出需要查看的键名.
调用整个对象,这一步和查看数组一样console.log(b)
调用其中一个console.log(b['name']);
在对象中的键名符合js代码命名规范时,可以使用简化语法调用,去掉了单引号和方括号。console .log(b.name);
可以将上方的对象进行封装,变成一个函数:
b = {
name:'手机',
unm:5 ,
jiage:1599,
d:function(){
return this.name+this.unm*this.jiage+'元';
}
}
console .log(b.d());
上方代码中的this相当于当前函数的引用,在上方的代码中相当于函数名b,当函数名更改时,this的引用不受影响,减少了代码的修改难度
分支就是有条件的执行某段代码,分为单分支和多分支
给某段代码一个判断条件 当满足条件时执行代码,反之则不执行
分支中 首先定义一个变量 这个变量的值可以是用户输入
if 定义判断条件和执行代码
else 当上方条件不满足时执行的代码
const b =20;
if (b>=18){
console.log('可以观看')
}
else
{
console.log('少儿不宜')
};
代码解释:定义了一个常量 b ,然后下方进行判断if 当b大于等于18时,输出可以观看,else 反之则输出少儿不宜
双分支和多分支相当于是单分支的进阶,在双分支和多分支中有多个else,判断多个条件
let d =31;
// 第一级判断语句 18-30
if(d>=18 && d<=30){
console.log('允许观看');
}
// 二级判断语句 31-50
else if(d>30 && d <=50){
console.log('非常允许观看');
}
// 三级判断语句
else{
console.log('不允许观看');
};
上方的代码在单分支的情况下加入了多级else if的判断,进行了多次判断,将输入的结果分成了不同的等级输出不一样的结果
switch 多分支的简化语法
switch (条件){case 1: break case 2: break case 3: break default(这个是默认语句,前面条件1.2.3都不满足就输出默认)}
如果在case 之间没有 break 就会连续判断执行
这个是多分支的简化语法,相当于是在case 和break的中间包含一个判断条件,每个判断条件以case为开始,break为结束,如果只有case(开始)而没有break(结束)则case之后的条件视为一个同一个判断语句
最后的 default视为默认,在所有的条件不满足时,输出默认结果
switch(true){
case d>=18 && d<=30:
console.log('允许观看')
break;
case d>30 && d <=50:
console.log('非常允许观看')
break;
default:console.log('不允许观看');
}
首先是比如有下方一个数组const a =[1,2,3,4,5,6,7,8,9,10];
我们通过循环,将整个数组遍历,并分别输出每一个值let b = 0;
首先定义一个变量b,当做遍历索引,可以理解为储存每一次循环所的元素健名,0就是从第一个元素开始循环,如果为1 则从第二个元素开始循环,以此类推let c = (a.length);
上面说过,使用length 可以获取数组中的元素数量,在这里用变量C 来储存数组中的元素数量,给本次循环一个循环的条件限制,每一个循环必须有一个循环条件,当不满足条件是结束循环,如果没有条件则会进入死循环(需要特别注意)
while (b <c ){
console.log(a[b]);
b++;
}
代码解释: while 循环 如果b<c (这里是循环条件,如果满足条件则进入循环) 输出 a数组中的健名为b的值,然后b++(这里相当于b=b+1,用来更新循环条件,每次循环之后+1 然后进入下一次循环,一直到b不小于c,然后循环结束)
for(let d of a){
console.log(d)
};
这个语法输出结果和上方while一样,但是简单很多,就是创建一个变量d,这个d用来接收遍历得到的值,of 之后跟上需要遍历的数组名称,然后输出d就行
const f={
a:1,
b:2,
}
for(let h in f){
console.log(f[h]);
}
for in 用来遍历对象,因为对象无法使用for of来遍历输出,但是因为数组也属于对象,所以for in也可以遍历数组