JavaScript 流程控制 & 函數 & 對象

流程控制

判斷語句

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 引用到任何對象。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章