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;
        变量,相当于全局定义,在哪都能看到,可以重复定义。
    `;
    `
    块级作用域与局部作用域
        块级作用域: {} 就是块级作用域
        局部作用域:函数的{}里是局部作用域
    `;
  • 相关阅读:
    ACM的算法分类 2015-04-16 14:25 22人阅读 评论(0) 收藏
    初学Larevel 2014-08-21 11:24 90人阅读 评论(0) 收藏
    初学PHP&MySQL 2014-05-31 12:40 92人阅读 评论(0) 收藏
    codeforces 570 E. Pig and Palindromes (dp)
    codeforces 570 D. Tree Requests (dfs序)
    poj 2157 Maze (bfs)
    cf 570 C. Replacement (暴力)
    cf 570B B. Simple Game(构造)
    cf 570 A. Elections
    hdu 1429胜利大逃亡(续) (bfs+状态压缩)
  • 原文地址:https://www.cnblogs.com/hesujian/p/11135238.html
Copyright © 2011-2022 走看看