zoukankan      html  css  js  c++  java
  • JavaScript基础语法

    javascript基础语法

    1、分支结构

    1-1 if 基础语法

    if (条件表达式) {
        代码块;
    }
    // 1. 当条件表达式结果为true,会执行代码块;反之不执行
    // 2. 条件表达式可以为普通表达式
    // 3. 0、undefined、null、""、NaN为假,其他均为真
    

    1-2 if 复杂语法

    // 1.双分支
    if (表达式1) {
        代码块1;
    } else {
        代码块2;
    }
    
    // 2.多分支
    if (表达式1) {
        
    } else if (表达式2) {
        
    } 
    ...
    else if (表达式2) {
        
    } else {
        
    }
    

    1-3 if 嵌套

    if (表达式1) {
        if (表达式2) {
            
        }
    }
    

    1-4 案例:

    var weather = prompt("天气(晴|雨)");  // 文本输入弹出框
    if (weather == "晴") {
        alert("今天是晴天")
    } else if (weather == "雨") {
        alert("今天是雨天")
    } else {
        alert("输入信息有误")
    }
    

    2、循环结构

    2-1 or循环

    for (循环变量①; 条件表达式②; 循环变量增量③) {
        代码块④;
    }
    // for循环执行的顺序:① ②④③ ... ②④③ ②,入口为①,出口为②,②④③就是循环过程
    
    // 案例:
    for (var i = 0; i < 5; i++) {
        console.log(i);
    }
    
    // 结果:
    0
    1
    2
    3
    4
    

    2-2 while循环

    while (条件表达式) {
        代码块;
    }
    // 条件满足执行代码块,条件不满足跳出循环
    
    // 案例:
    var i = 0;
    while (i < 5) {
        console.log(i);
        i++;
    }
    
    // 结果:
    0
    1
    2
    3
    4
    

    2-3 for…in迭代器

    var arr = [1, 2, 3, 4, 5]
    for (num in arr) {
        console.log(num);
    }
    
    // 结果:
    0
    1
    2
    3
    4
    

    2-4 break,continue关键词

    // 1. break:结束本层循环
    // 2. continue:结束本次循环进入下一次循环
    

    3、 JavaScript 对象

    3-1 Object类型

    创建

    • 直接量

      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
      

    3-2 声明类(构造函数)

    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可以判断一个对象是否属于某个构造函数

    3-3 this

    • this表示方法 所属的对象
    • 全局函数中的this 指向 window

    3-4 原型和原型链

    什么是原型

    每一个JavaScript对象都和另一个对象相关联, 并从另一个对象继承属性,另一个对象就是"原型"
    用直接量创建的对象 都具有同一个原型对象 Object.prototype

    原型链

    对象的原型也有原型,构成了原型链

    获取原型

    构造函数.prototype    
    对象.__proto__
    

    给原型添加属性或方法

    给原型添加属性和方法,以该对象为原型的对象 都可以使用该方法

    检测属性 是自有属性还是继承自原型的属性

    obj.hasOwnProperty(proName)
    

    创建对象时指定原型

    Object.create(原型对象)
    
  • 相关阅读:
    hrbust1279
    U盘快捷方式中毒处理办法
    计算几何
    poj1113
    凸包模版
    STL容器
    HDU2048
    HDU2047
    HDU2045
    python面试题总结
  • 原文地址:https://www.cnblogs.com/TMesh/p/11755781.html
Copyright © 2011-2022 走看看