zoukankan      html  css  js  c++  java
  • js的数据类型、函数、流程控制及变量的四种声明方式

    运算符

    基本运算符
        加    +-*/
        取余  %
        自增  ++   eg: 1++ 或 ++1
        自减  --   eg: 1-- 或 --1
        注:++或--写在前面表示优先级最高,先进行自增或者自减
           写在后面表示优先级最低,比赋值还低,先干完别的再赋值
    逻辑运算符
        与   &&||!
    三元运算符
        res = 条件 ? 结果1 : 结果2
        条件成立取结果1,失败取结果2
        eg:res = 1 < 2 ? "小于" : "大于";
            console.log(res);   ==> 小于

    数据类型

    //数字类型   加减乘除
    console.log(parseFloat("8/5asdsadqw"),typeof(parseFloat("8/5asdsadqw")));
    // 字符串类型
    let str = "123abc呵12呵";
    // 索引取值
    console.log(str[1]);
    // 索引取值只能正着取才能取到  负着取和超出索引取不会报错,会给你undefined
    // 切片slice
    console.log(str.slice(1,3));
    // 拆分split
    console.log(str.split(''));
    // 拼接  字符串拼接不可以乘法数字字符串乘法直接转换成数字类型相乘
    // 迭代取值
    for (k in str){     //迭代的是索引
        console.log(k)
    };
    for (k of str){     //迭代的是值
        console.log(k)
    };
    //替换replace
    console.log(str.replace('12','qw'));
    //替换只能替换第一次出现的
    
    //数组
    let ls = [5,3,7,2,0];
    console.log(ls);
    //重组join
    console.log(ls.join()); //默认以空格拼接起来
    console.log(ls.join(''));
    // 排序
    ls.sort();      //正序
    ls.reverse();   //反序
    console.log(ls);
    //增删改查
    ls.splice(0,1,'xx',2);
    console.log(ls);
    //splice( 开始的索引  , 你要操作的长度  ,  操作后的结果)
    // 如果你操作长度为0 操作后的结果有值那就是增加
    // 如果你操作长度有值,操作后的结果没有值那就是删除
    // 如果都有值那就是修改
    //查找
    console.log(ls[1])  ;//可以根据索引取值
    
    // 对象(字典)
    
    let dic = {};
    //
    dic.name = 'hesujian';
    //
    delete dic.name;
    //
    dic.name = 'owen';
    dic.name = 'hesujian';
    //
    console.log(dic['name']);
    console.log(dic.name);
    console.log(dic);
    //对象和数组的迭代
    console.log(ls);
    for (k in ls){
        console.log(ls[k])
    };
    dic = {'name':'owen','age':28,'gender':'male','k':123};
    for (k in dic){
        console.log(k);
        console.log(dic[k]);    //这里遍历出来的key只能通过这种方式进行查值
        console.log(dic.k);     //这种会把k当成dic的属性取查找,而不会替换成遍历出的值(一直去找dic有没有k属性对应的值)
    };
    
    数据类型

    函数

    `
    函数的定义
    function 函数名(参数列表) {
        函数体
        return 返回值
    }
    function: 定义函数的关键字
    函数名: 使用函数的依据,加括号可以调用,就是一个变量
    参数列表: 都是按位置传,没有关键字形参,形参与实参个数不必统一,但一定是按位置传值(你传你的,我传我的)
    函数体: 完成主体功能的代码块
    return: 返回值,只能返回一个值,不能解压赋值(所以要返回多个需要用数组或对象装起来)
    `;
    function fn(a,b) {
        console.log(a,b);
    };
    fn();       //不传里面的a,b就是未定义undefined
    fn(1);      // a就是1  b就是undefined
    fn(1,2,3);  // a是1 b是2
    `
    匿名函数
    function () {
    };
    函数没有名字就是匿名函数
    `;
    //匿名函数的作用
        //1.当一个函数的参数需要一个函数地址,就可以把匿名函数直接传进去
            function f(ff) {
                ff();
            };
            f(function () {});
        //2.用变量接收匿名函数 , 这也是函数的第二种声明方式
            let a = function () {};
            a();
        //3.为事件提供方法体
            div.onclick = function () {
            };
        //4.匿名函数的自调用,一次性使用
            (function () {})()
    
    函数
    

      

    流程控制

      有顺序  分支  循环  (默认是顺序)

     随机数

    //随机数 Math.random()   [0,1)
    //[0,1)  ==> [m,n]
    //[0,1) * n-m+1 ==> [0,n-m+1)
    //[0,n-m+1) parseInt() ==> [0,n-m]
    //[0,n-m] + m  ==> [m,n]
    //公式:parseInt(Math.random * (n-m+1)) + m   ==> [m,n]

    if条件判断

     
    `
    if (条件) {
    
    } else if (条件) {
    
    } else {
    
    }
    `;
     

    while循环

    `
    while循环
    while (条件) {
        代码块
    };
    `

    for循环

     
    `
    for 循环
    for (赋初值①; 条件②; 自增③) {
        代码块④
    };
    与python不同的就是for括号里面有三个值,执行过程是①②④③  ②④③ ... ②
    `
     

    do while 循环

    `
    do while 循环
    do{
    }while();
    与for循环类似,唯一不同点是,do while先执行后判断 for是先判断后执行
    `;

    四种声明方式

     
    `
    let a = 1;
        变量,有块级作用域,定义在块级作用域内,外面看不到,不允许重复定义
    const b = 2;
        常量,有块级作用域,定义在块级作用域内,外面看不到,不允许重复定义
    var c = 3;
        变量,有局部作用域,定义在局部作用域内,外面看不到,定义在块级作用域时,外面可以看到,允许重复定义
    d = 4;
        变量,相当于全局定义,在哪都能看到,可以重复定义。
    `;
    `
    块级作用域与局部作用域
        块级作用域: {} 就是块级作用域
        局部作用域:函数的{}里是局部作用域
    `;
  • 相关阅读:
    危险系数
    快速幂模板
    回文数字
    Echart图表使用
    http请求头中Referer的含义和作用
    有关程序员的时间管理
    数据库报错 java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
    sql中字符串替换
    前端获取数据库的datetime(时间戳) 转化成日期展示出来
    MySQL版本升级
  • 原文地址:https://www.cnblogs.com/huikejie/p/11186382.html
Copyright © 2011-2022 走看看