流程控制

判断语句

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 引用到任何对象。