zoukankan      html  css  js  c++  java
  • js --基本语法2

    复习 :
    1. JS 引入方式
    1. 元素事件绑定
    onclick = "JS 语句"
    2. <script>
    JS 代码
    </script>
    3. 外部JS文件
    <script src=""></script>
    2. JS 数据类型
    Number String Boolean undefined null
    3. 数据类型转换
    1. 自动类型转换
    et :
    "100" + "10" ; //"10010"
    "100" + 10; //
    "100" + true; //"100true"
    "100" - 10; //90
    "100" - true; //99
    "100a" - 10; //NaN
    2. 强制类型转换
    1. number / boolean 转 string
    toString()
    et :
    var num = 100;
    num = num.toString();
    2. string 转 number
    1. Number()
    et :
    var s = "100";
    s = Number(s);
    var s1 = "100a";
    s1 = Number(s1); //NaN
    2. 解析数字
    方法 :
    parseInt() parseFloat()
    et :
    var s = "12.5a";
    s = parseInt(s); //12
    var s2 = "a12";
    parseFloat(s2); //NaN
    3. 运算符
    1. 赋值运算符
    2. 数学运算符 + - * / %
    3. 自增和自减 ++ --
    et :
    var a = 10;
    a --;
    -- a; //8
    var r = a --; //r=8,a=7
    var r2 = -- a; // r2=6,a=6
    4. 变量/常量
    变量 var
    常量 const
    ------------------------------
    day 08
    1. 运算符
    1. 赋值运算符
    2. 算数运算符
    3. 自增自减运算符
    4. 关系运算符(比较)
    运算符 : > < >= <= ==(相等) !=(不想等)
    ===(恒等) !==(不恒等)
    使用 :
    关系运算符用来判断表达式之间的关系,判断结果为布尔值,
    1. number之间的比较
    根据数值比较大小或相等
    10 > 5; // true
    2. number与string之间的比较
    会将string转换为number再进行比较
    NaN与其他类型结合运算的结果都是NaN,关系运算中结果为
    false
    3. number 与 boolean
    boolean值会转换为number :
    true = 1
    false = 0
    再进行数值比较
    4. string 与 string 比较
    字符串之间的比较,根据每位字符的Unicode码值进行
    比较,如果当前位码值相同,继续比较下一位字符
    相等与恒等
    相等 : 判断两个操作数值是否相等,包含自动类型转换
    "10" == 10
    恒等 : 判断操作数是否恒等,要求数据类型保持一致,值
    相等,不会进行数据类型转换
    "10" === 10
    不等与不恒等
    不等 : 值不相等,返回true
    不恒等 : 值或数据类型只要有一个不同,返回true
    5. 逻辑运算符
    逻辑与 : &&
    逻辑或 : ||
    逻辑非 : !
    使用 : 逻辑运算符主要用来结合条件表达式,返回结果是
    布尔类型
    1. 逻辑与 :
    condition1 && condition2
    两个条件都为真,结果为真
    有一个为假,结果为假
    et:
    10 > 5 && "10" > "5" // true && false ->false
    2. 逻辑或
    条件1 || 条件2
    只要有一个条件为真,结果为真
    两个条件都为假,结果为假
    3. 逻辑非
    ! 条件
    对当前条件表达式的结果取反
    非真即假,非假即真
    et :
    ! 10;
    任何非零数据,都为真
    练习 :
    1. 接收用户输入的年份,判断是否是闰年
    闰年 : 能被400整除
    能被4整除不能被100整除
    2. 接收用户输入的字符(单个)
    判断用户输入的字符
    是英文吗
    是中文吗
    是数字吗
    返回判断结果
    6. 位运算符
    位与 : &
    位或 : |
    异或 : ^
    使用 :
    对数据的二进制中的每一位进行操作
    1. 位与 : 是每一位进行与操作,都为1,结果为1
    et :
    3 & 5;
    011
    & 101
    ------
    001 -> 1
    使用 :
    任何数与数字1进行位与操作,结果为1, 表示操作数为
    奇数,为0表示操作数为偶数.
    判断奇偶 :
    3 & 1 //011 & 001 = 001 1 奇数
    2 & 1 //010 & 001 = 000 0 偶数
    2. 位或 : 有1则1
    3 | 5
    011
    | 101
    ------
    111 -> 7
    3. 异或 : 相同为0,不同为1
    3 ^ 5
    011
    ^ 101
    ------
    110 -> 6
    使用 :
    异或可以在不借助中间变量的情况下,互换两个变量的值
    练习 :
    var a = 100,b = 200;
    var c = a;
    a = b; // a = 200;
    b = c;
    ----------
    var m = 3,n = 5;
    m = m ^ n; //6
    n = m ^ n; //6 ^ 5 -> 110 ^ 101 = 011 ->3
    m = m ^ n; //6 ^ 3 -> 110 ^ 011 = 101 ->5
    7. 三目运算符(三元运算符)
    根据操作数的个数划分运算符
    三目 : 有三个操作数
    语法 :
    表达式1 ? 表达式2 : 表达式3;
    执行 :
    1. 判断表达式1的结果 (true/false)
    2. true : 执行表达式2,返回结果
    3. false : 执行表达式3,返回结果
    et :
    var age = 30;
    var res = age > 28 ? "人到中年不得已" : "还年轻,继续浪";
    //res : ""
    练习 :
    1. 成绩判定 :
    接收用户输入的成绩 score
    score >= 90 返回"A"
    score >=80,<90 返回"B"
    score >=60,<80 返回"C"
    score < 60 返回"D"
    2. BMI 指数
    接收用户输入的身高 (m)
    接收用户输入的体重 (kg)
    计算BMI指数 : bmi = weight / (height *height)
    保留小数点后两位
    bmi > 23.9 偏胖
    bmi < 18.5 偏瘦
    中间值 健康
    2. 流程控制
    1. 流程控制主要用来控制代码的执行顺序
    2. 流程控制结构
    1. 顺序结构
    代码自上而下顺序执行
    2. 分支结构
    选择某一段代码执行
    3. 循环结构
    重复执行某一段代码
    3. 分支结构(选择结构)
    1. if 语句
    1. 语法一 :
    if(条件表达式){
    条件成立时执行的代码
    }
    使用 :
    1. {}可以省略,省略之后,if语句只控制后面的
    第一条代码语句
    2. 非零数据都为真,零为假
    以下情况,条件都为假
    if (0) {}
    if ("") {}
    if (0.0)
    if (NaN)
    if (null)
    if (undefined)
    2. 语法二 : if - else
    if (){
    条件成立时执行
    } else{
    条件不成立时执行
    }
    3. 多重分支 : if - else if ...
    if (条件1) {
    条件1成立时执行
    }else if(条件2){
    条件2成立时执行
    }...else if(条件n){

    }else{
    //最终情况
    }
    练习 :
    1. 判断成绩等级
    2. 计算天数
    由用户输入年 月 日
    判断当日是该年的第几天
    et :
    2018 3 15
    2. switch 语句
    主要用来做值匹配,值恒等时,执行某段代码
    语法 :
    switch (变量){
    case 值1 :
    值匹配恒等,执行的操作
    break; //结束匹配
    case 值2 :
    代码语句
    break;
    ...
    default :
    //匹配失败之后默认执行的操作
    break;
    }
    使用 :
    1. switch 判断值,用的是恒等,要求数据类型和值
    都相等才能匹配成功
    2. case 用来列出所有可能的值,一旦与变量匹配恒等,
    就执行当前case中的语句
    3. default 表示匹配失败之后执行的操作,不用给值
    一般写在末尾
    4. break,表示跳出匹配,不再向后执行.
    可以省略,省略之后,表示从当前匹配到的case
    向后执行所有的代码语句,直至结束
    5. case 可以共用代码语句,列出所有相关的情形,
    共用一组执行语句 :
    语法 :
    case 值1:
    case 值2:
    case 值3:
    ...
    case 值 :
    代码语句
    break;
    练习 :
    改版日期计算器
    4. 循环结构
    1. 循环三要素 :
    循环变量;
    循环条件;
    循环体;
    2. 分类 :
    1. while 循环
    1. 语法 :
    定义循环变量;
    while (循环条件){
    循环体
    更新循环变量
    }
    2. 流程 :
    1. 定义循环变量
    2. 判断循环条件
    3. 条件成立,执行循环体
    4. 更新循环变量(定义循环结束条件)
    5. 重复2 - 3 - 4
    2. do - while 循环
    1. 语法 :
    do {
    循环体
    }while(循环条件);
    2. 流程 :
    1. 定义循环变量
    2. 执行循环体,更新循环变量
    3. 判断循环条件,条件成立,重复2-3
    条件不成立,结束循环
    3. while 与 do-while的区别
    1. while循环首先判断循环条件是否成立,
    不成立不执行循环体
    2. do-while循环首先执行一次循环体,再判断
    循环条件,决定是否开始下一次循环.
    无论条件是否成立,do-while都至少执行一次
    循环体.
    练习 :
    1. 循环接收用户输入的数据,并在控制台输出,
    直到用户输入"exit",跳出循环
    2. 使用循环改版日期计算器
    3. for 循环
    1. 语法 :
    for(初始化循环变量;定义循环条件;更新循环变量){
    循环体
    }
    2. 流程 :
    1. 初始化循环变量
    2. 判断循环条件
    3. 循环条件成立,执行循环体
    4. 更新循环变量,重复2 - 3 - 4,直至跳出
    3. for 循环与while循环比较 :
    1. for与while 循环,执行流程相同,书写语法不同
    2. for循环更常见于确定循环次数的场合
    while循环更适用于不确定循环次数的场合
    4. 循环控制
    1. break
    表示结束循环,不管还有多少次
    2. continue
    表示跳出本次循环,开始下一次循环
    5. 循环嵌套
    在循环体中嵌套其他的循环
    et :
    控制台输出图案
    *
    **
    ***
    ****
    *****
    每行的行数等于星星数
    作业 :
    1. 输出1-100之间所有的素数
    只能被1和自身整除的数
    2. 接收用户输入的年月日,
    判断当日是星期几
    已知 : 1990-01-01是星期一
    3. 图案 :
    *
    ***
    *****
    *******
    *********
    4. 控制台输出99乘法表




     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     


     




     

     

     



     

     


     

     

     

  • 相关阅读:
    GitHub Android Libraries Top 100 简介
    GitHub Top 100 的项目(iOS)
    iOS 学习资源
    HTTP和GET/POST请求(NSURLConnection)
    RunLoop
    HTML5 拖放
    网络安全与加密
    Cocoapods的安装
    iOS中的单例模式
    SDWebImage
  • 原文地址:https://www.cnblogs.com/sky-ai/p/10026833.html
Copyright © 2011-2022 走看看