文章目錄
流程控制
判斷語句
if 語句
var score = 70;
if (score > 90){
console.log("非常棒")
}else if (score > 80){
console.log("優秀")
}else if (score > 60){
console.log("及格")
}else{
console.log("不及格")
}
switch 語句
switch(n){
case a:
執行代碼塊 1;
break;
case b:
執行代碼塊 2;
break;
default:
執行默認代碼塊;
}
循環語句
for循環
(1) 普通 for 循環
for (var i=0;i<=10;i++){
代碼塊:
}
(2) for 死循環
for (;;){
代碼塊:
}
(3) for…in
for (var i in "hello"){
console.log("hello"[i]);
}
while循環
(1) while循環
var a = 0;
while(a<10){
console.log(a);
a++
}
(2) do…while
var a = 0;
do {
console.log(a);
a++
} while (a<10);
break & continue
- break : 終止循環
- continue : 跳出本次循環
函數
普通函數
function 函數名(x,y){
代碼塊
return n;
}
arguments
function cs(name,age){
console.log(arguments);
// 通過索引獲取參數的值
console.log(arguments[1]);
}
默認參數
function 函數名(name,age=10){
代碼塊
return n;
}
匿名函數
var a = function(){
console.log("");
}
自運行函數
// 無需調用,自動執行
(function(){
console.log("");
})()
對象
在 JavaScript 中,幾乎所有的事物都是對象,JavaScript 對象是擁有屬性和方法的數據
對象的定義
(1) 直接定義
var person = {
name: "tom",
age: 18,
say:function(){
console.log("hello");
}
};
console.log(person.name);
person.say();
(2) 構造函數
function Person(name,age){
this.name = name;
this.age = age;
this.say = function(){
console.log("hello")
}
}
p = new Person("tom",18);
console.log(p.name);
p.say();
對象的屬性
可以說 JavaScript 對象是變量的容器,但是我們通常認爲 JavaScript 對象是 鍵值對的容器
訪問對象屬性
person.name;
person["name"];
對象方法
對象的方法就是 定義了一個函數,並作爲對象的屬性存儲
調用對象方法
person.say()
this關鍵字
面嚮對象語言中 this 表示當前對象的一個引用。
但在 JavaScript 中 this 不是固定不變的,它會隨着執行環境的改變而改變。
- 在方法中,this 表示該方法所屬的對象。
- 如果單獨使用,this 表示全局對象。
- 在函數中,this 表示全局對象。
- 在函數中,在嚴格模式下,this 是未定義的(undefined)。
- 在事件中,this 表示接收事件的元素。
- 類似 call() 和 apply() 方法可以將 this 引用到任何對象。