7. 流程控制语句
1) if语句
if(exp){
//...
}
当exp为真,才可以执行大括号中的内容
当exp不为boolean的时候,先转换为boolean类型
2) if-else
if(condition) {
exp1
} else {
exp2
}
当condition为真,执行exp1,否则执行exp2
3) if-else if - else
if(condition1){
exp1
} else if (condition2) {
exp2
} else {
exp3
}
4) switch
var day = "3";
switch(day){
case 1:
break;
case 2:
break
case 3:
break;
default:
...
}
1. 变量与常量比较的时候使用===
2. 在case代码块不可以省略break;不然代码会直接向下执行直到遇到break或者代码结束
3. default的位置可以不在最后,当在其他位置上时,break不能省略
8. 循环语句
要素
初始化条件
结束条件
迭代
1) for循环
for(初始化条件; 结束条件; 迭代) {
//循环体
}
初始化条件执行1次
结束条件执行 n+1次
迭代 n次
1 + 2 + 3 + ... + 100
(1+100)*50
2) do-while
var i = 10;
var total = 1;
do {
total *=i;
i--;
} while(i>0);
3) while
var i = 10;
var total = 1;
while(i>0){
total *= i;
i--;
}
10
4) for-in (增强for循环)
主要用于遍历数组或者对象
var arr = ["terry","larry",true,12];
for(var i in arr){
console.log(i);
}
1*1 = 1
1*2 = 2 2*2 = 4
1*3 = 3 2*3 = 6 3*3 = 9
1*4 = 4 2*4 = 8 3*4 = 12 4*4 = 16
...
...
1*4 = 4 2*4 = 8 3*4 = 12 4*4 = 16
1*3 = 3 2*3 = 6 3*3 = 9
1*2 = 2 2*2 = 4
1*1 = 1
1*1 = 1
1*2 = 2 2*2 = 4
1*3 = 3 2*3 = 6 3*3 = 9
1*4 = 4 2*4 = 8 3*4 = 12 4*4 = 16
...
...
1*4 = 4 2*4 = 8 3*4 = 12 4*4 = 16
1*3 = 3 2*3 = 6 3*3 = 9
1*2 = 2 2*2 = 4
1*1 = 1
9. 对象
引用数据类型
复杂的数据结构,类似于C语言中的结构体,用于保存多个值。
1) 创建
1. 通过构造函数(根 Object)
Object是一个构造函数,所有的子构造函数都继承自Object
// 创建一个东西
var obj;
obj = new Object(); //引用
obj.name = 'terry';
obj.age =22;
obj.gender = true;
var a ;
a = 12; //基本
2. 使用对象字面量
var obj = {
name:'terry',
age:12,
gender:true,
firends:null
};
属性名与属性值通过:隔开,属性与属性之间通过,隔开。属性名可以不加引号。当属性名出现特殊字符,需要加引号。 属性可以动态添加删除
2) 对象属性的访问
var obj = {name:'terry',age:12};
obj.属性名
obj.name
obj[属性名]
obj['name']
=>
var a = 'name';
obj[a]
属性删除
delete obj.key
3) 引用拷贝,值拷贝
var obj1 = {name:'terry',age:12};
var obj2 = obj1;
obj2.age++;
obj1.age 13
obj2.age 13
var a = 1;
var b = a;
b++;
a 1
b 2
4) 检测
in
var obj = {name:"terry",age:12};
'name' in obj
user
if('gender' in user){
console.log(user.gender);
} else {
console.log('性别未初始化');
}
console.log(user.gender);
5) Object(拓展)
var obj = new Object();
=>
var obj = {};
Object是一个构造函数 人类
obj2构造函数产生的实例 李老师
Object
toString() 对象转换为字符串
valueOf() 对象转换为number
obj1 obj2 obj3
由于obj1是Object的实例,所以obj1可以调用Object中的方法。obj2,obj3也同样可以。因为他们都属于Object的实例
-----------------
电算
计算机组成原理
硬件
数据库系统概论
mysql
DDL
DML
计算机网络
http
tcp
ip
数据结构
栈
队列
二叉树
红黑树
图
算法
递归
操作系统
离散数学
&&
||
线性代数
矩阵
高数
大数据
请写出几个JS的内置构造函数
Object
Number
Number()
String
+""
String(a)
Boolean
Boolean()
Math