目录
1、控制结构
1-1、条件语句
包括if else、三元运算符(true/false ? xxx : xxx)、switch
1-2、循环
包括for循环、while循环、do...while循环
var i = 0;
while(i<10) {
console.log(i);
i++;
}
var i = 0;
do {
console.log(i);
i++;
} while(i<10)
while和do while区别在于,do while会先执行循环体的代码再判断条件。而while会先判断条件再执行。也就是说do while最少会执行一次。
2、面向对象编程
2-1、对象
创建对象的两种方法:
var obj = new Object();
var obj = {}
2-2、对象与类
对象是类的实例。类定义了对象的特征。
Book.prototype.print = function () {
console.log(this.name)
}
book1.print() // ABC
或者在类定义里声明函数
function book() {
this.name ='ABC';
this.print = function() {console.log(this.name)}
}
使用prototype,print函数只会创建一次,且在所有实例共享(包括已创建的实例)。而在类的定义里声明,则每个实例都会创建自己的函数副本。使用prototype可以节约内存和降低实例化开销。但是prototype只能声明publick函数与属性。而类定义可以声明只在类内部访问的private函数与属性。
function SelfBook(){
// private私有变量和方法
var bookName = '百年孤寂';
var printBook = function() {console.log(bookName)};
// public公共变量和方法
this.bookName1 = 'ABC'
this.printBook1 = function() {printBook()}
}
book1.bookName
=》 undefined
book1.bookName1
=》 'ABC'
book1.printBook1()
=》 百年孤寂
book1.printBook()
=》 VM766:1 Uncaught TypeError: book1.printBook is not a function
at <anonymous>:1:7