目录
if (条件表达式) {
代码块;
}
// 1. 当条件表达式结果为true,会执行代码块;反之不执行
// 2. 条件表达式可以为普通表达式
// 3. 0、undefined、null、""、NaN为假,其他均为真
// 1.双分支
if (表达式1) {
代码块1;
} else {
代码块2;
}
// 2.多分支
if (表达式1) {
} else if (表达式2) {
}
...
else if (表达式2) {
} else {
}
if (表达式1) {
if (表达式2) {
}
}
var weather = prompt("天气(晴|雨)"); // 文本输入弹出框
if (weather == "晴") {
alert("今天是晴天")
} else if (weather == "雨") {
alert("今天是雨天")
} else {
alert("输入信息有误")
}
for (循环变量①; 条件表达式②; 循环变量增量③) {
代码块④;
}
// for循环执行的顺序:① ②④③ ... ②④③ ②,入口为①,出口为②,②④③就是循环过程
// 案例:
for (var i = 0; i < 5; i++) {
console.log(i);
}
// 结果:
0
1
2
3
4
while (条件表达式) {
代码块;
}
// 条件满足执行代码块,条件不满足跳出循环
// 案例:
var i = 0;
while (i < 5) {
console.log(i);
i++;
}
// 结果:
0
1
2
3
4
var arr = [1, 2, 3, 4, 5]
for (num in arr) {
console.log(num);
}
// 结果:
0
1
2
3
4
// 1. break:结束本层循环
// 2. continue:结束本次循环进入下一次循环
直接量
var obj = {name:'xiaolili', age:100, getInfo:function(
console.log(this.age)
)}
new 构造函数
var obj = new Object()
obj.name = 'xiaolili'
obj.age = 100
读取或修改属性
console.log(obj.name)
obj.name = 'lili'
console.log(obj['name'])
obj['name'] = 'honghong'
删除属性
delete obj['name']
delete obj.name
监测属性是否出存在
'name' in obj
function User(name, age){
this.name = name
this.age = age
this.getInfo = function(){
console.log(this.name, this.age)
}
}
var u = new User('鲁迅', 45)
.constructor
从而获取其构造函数instanceof
可以判断一个对象是否属于某个构造函数每一个JavaScript对象都和另一个对象相关联, 并从另一个对象继承属性,另一个对象就是"原型"
用直接量创建的对象 都具有同一个原型对象 Object.prototype
对象的原型也有原型,构成了原型链
构造函数.prototype
对象.__proto__
给原型添加属性和方法,以该对象为原型的对象 都可以使用该方法
obj.hasOwnProperty(proName)
Object.create(原型对象)
原文:https://www.cnblogs.com/TMesh/p/11755781.html