zoukankan      html  css  js  c++  java
  • JavaScript小结

    语法小结

    
    /**
     * Created by M.C on 2017/5/26.
     */
    
    /*弹框*/
    //var message = "Hello world";
    //alert(message);
    
    /*变量的命名规则*/
    /*
    * 1.变量不能包含任何空格
    * 2.变量只能包含英文单词,数字,美元符号$和下划线_
    * 3.不能使用js中的关键字,但可以包含关键字
    * 4.大小写敏感,rose和Rose是两个不同的变量
    * 5.采用驼峰命名, 如果变量命中有多个单词,第一个单词的第一个字母小写,其他的单词的第一个字母都大写
    * 5.用有意义的名称来描述变量
    * */
    var userName = "zhangsan";
    var string_underscores = "下划线的变量";
    document.write(userName + string_underscores);
    
    /*常见的数学运算符*/
    // +
    var a = 2 + 3;
    // -
    var b = 5 - 3;
    // *
    var c = 4 * 4;
    // /
    var d = 8 / 2;
    // %
    var e = 10 % 4;
    document.write("<br>" + a + b + c + d + e);
    
    /*不常见的数学运算符*/
    // ++
    var num = 5;
    var newNum = num++;
    var newNum1 = ++num;
    document.write("<br>" + "num:" + num + " newNum:" + newNum + " newNum1:" + newNum1);
    /*上边代码的打印结果为:
    * `num:7 newNum:5 newNum1:7`
    * 说明:当++放到变量后边的时候,先返回再相加,当++放到变量的前边的时候,先相加再返回
    * 这一规则同样适用于其他的语言
    * */
    
    // --
    (function() {
        var num = 5;
        var newNum = num--;
        var newNum1 = --num;
        document.write("<br>" + "num:" + num + " newNum:" + newNum + " newNum1:" + newNum1);
        /*上边代码的打印结果为:
         * `num:3 newNum:5 newNum1:3`
         * 说明:当--放到变量后边的时候,先返回再相减,当--放到变量的前边的时候,先相减再返回
         * 这一规则同样适用于其他的语言
         * */
    })();
    
    /*拼接字符串*/
    (function() {
        document.write("<br>"+ "Name is " + "MC" + "!");
        document.write("<br>" + "2" + 2 + 2); // 当拼接的时候有字符串和数字,数字会被当做字符串处理
    })();
    
    /*提示框
    * 提示框用于获取信息,比如给出一个问题,期望用户给出一个答案
    * 使用prompt函数,该函数接受两个参数,第一参数表示问题,第二个参数表示默认的答案
    * prompt函数的返回值就是答案,返回值的类型为字符串,如果用户没有输入,返回"",如果点击了取消,返回null
    * */
    //var backString = prompt("你多大了?", "23");
    //document.write("<br>" + backString);
    
    /*数组的一些注意事项
    * 1.当使用下标赋值的时候,用没有赋值的下标取值会得到undefined
    * 2.使用pop()函数可以移除数组中最后一个元素
    * 3.使用push函数可以添加大于1个元素到数组中
    * 4.使用shift函数可以移除数组中第一个元素,和pop的顺序相反
    * 5.使用unshift函数可以添加大于1个元素到数组中,会插入到数组的最前边,和push相反
    * 6.splice函数可以插入数据和删除数据,在下边会详细演示
    * 7.使用slice切割数据,并返回一个新的数组
    * */
    (function() {
        var array = [];
        array[0] = "a";
        array[1] = "b";
        array[2] = "c";
        array[6] = "d";
        document.write("<br>" + array);
        document.write("<br>");
        document.write(array[3]);
    
        // 添加一个元素
        array.push("e");
        // 添加多个元素
        array.push("f", "g", "h");
        document.write("<br>");
        document.write(array);
    
        // 移除最后编一个元素
        array.pop();
        document.write("<br>");
        document.write(array);
    
        // 使用shift删除第一个数据
        array.shift();
        document.write("<br>");
        document.write(array);
    
        // 使用unshift在数组开头添加数据
        array.unshift("1", "2");
        document.write("<br>");
        document.write(array);
    
        // 使用splice添加和删除数据
        // splice第一个参数表示数据插入的位置,第二个参数表示删除原位置后边多少位数据
        array.splice(2, 2, "G", "H", "J");
        document.write("<br>");
        document.write(array);
    
        // slice切割数组, 第一个参数表示切割开始的索引,第二个参数比较特殊,也表示一个索引,但最终结果只会切割刀该索引前边的数据
        // 也就是说切割后的数据,并不会包含第二个参数索引指向的值
        var newArray = array.slice(2, 3);
        document.write("<br>");
        document.write(newArray);
    })();
    
    /*大小写转换*/
    (function() {
        // 使用toLowerCase()转换成小写字符串
        var str = "AbCdEf";
        var lowerStr = str.toLowerCase();
        document.write("<br>");
        document.write("原字符创:" + str + " 转换成小写的字符串:" + lowerStr);
    
        // 使用toUpperCase()转换成大写字符串
        var upperStr = str.toUpperCase();
        document.write("<br>");
        document.write("原字符创:" + str + " 转换成大写的字符串:" + upperStr);
    })();
    
    /*检测是不是有两个连续的空格*/
    //(function() {
    //    var inputStr = prompt("请输入一些带空格的东东?")
    //    var inputStrLength = inputStr.length;
    //    for (var i = 0; i < inputStrLength; i++) {
    //        if (inputStr.slice(i, i + 2) === "  ") {
    //            document.write("<br>");
    //            document.write("发现两个连续得字符");
    //            break;
    //        }
    //    }
    //})();
    
    
    /*查找字符串中是否存在某个字符串*/
    (function() {
        // 实现上边的功能有两种不同的方法
        var str = "Your happy passer-by all knows, my distressed there is no place hides.";
        // 查找is是否在上边的字符串之中,把结果保存在result中
        var result = "";
        var strLength = str.length;
        for (var i = 0; i < strLength; i++) {
            if (str.slice(i, i + 2) === "is") {
                result += "使用slice发现了is,index:" + i;
                break;
            }
        }
    
        var firstChar = str.indexOf("is");
        if (firstChar != -1) {
            result += "使用indexOf发现了is index:" + firstChar;
        }
    
        if (result.length <= 0) {
            result += "没有发现is";
        }
    
        document.write("<br>");
        document.write(result);
    
        // 注意:indexOf返回的是结果的第一个字符的位置,可以使用lastIndexOf获取符合条件的最后一个结果
    })();
    
    /*获取某个位置的字符*/
    (function() {
        // 同样有两种方式获取某个位置的字符
        var str = "Hello world";
        var firstChar = str.slice(0, 1);
        // 使用charAt函数
        var firstChar1 = str.charAt(0);
        document.write("<br>");
        document.write(firstChar + " " + firstChar1);
    })();
    
    /*替换字符串*/
    (function() {
        var str = "a b c d e f a a a";
        var newStr = str.replace("a", "%");
        document.write("<br>");
        document.write("原字符串:" + str + " 替换后:" + newStr);
        // 通过查看上边打印出的信息,只替换了第一次出现的字符串,那么必须告诉js要替换全部的字符串
        // 注意:替换字符串会生成一个新的字符串,不会直接改变原有的字符串
        var newStr1 = str.replace(/a/g, "%");
        document.write("<br>");
        document.write("原字符串:" + str + " 替换后:" + newStr1);
    })();
    
    /*取整*/
    (function() {
        // round四舍五入
        var num1 = Math.round(0.499);
        var num2 = Math.round(0.599);
        document.write("<br>");
        document.write("0.499round:" + num1 + " 0.599round:" + num2);
    
        // ceil向上取整
        var num3 = Math.ceil(0.499);
        var num4 = Math.ceil(0.599);
        document.write("<br>");
        document.write("0.499ceil:" + num3 + " 0.599ceil:" + num4);
    
        // floor向下取整
        var num5 = Math.floor(0.499);
        var num6 = Math.floor(0.599);
        document.write("<br>");
        document.write("0.499floor:" + num5 + " 0.599floor:" + num6);
    })();
    
    /*随机数*/
    (function() {
        // 假如想获取一个1~6的随机数
        // 先获取js的一个随机数,取值范围为0.0000000000000000 ~ 0.9999999999999999 16位的小数
        var bigDecimal = Math.random();
        // 把上边获取的小数乘以6后加1,这是最常用的方法
        var improvedNum = (bigDecimal * 6) + 1;
        // 向下取整
        var result = Math.floor(improvedNum);
    
        document.write("<br>");
        document.write("随机数:" + bigDecimal + " 结果:" + result);
    })();
    
    /*字符串转数字*/
    (function() {
        // 如果是 + 号, 那么js会把数字当做字符串看待
        var num = "20" + 20; // 2020
        // 如果是 - * / 会把字符串当做数字看待
        var num1 = "20" - 10; // 10
        // 如果不是数字类型的字符串,NaN
        var num2 = "20" - "dd";
    
        document.write("<br>");
        document.write(num + " " + num1 + " " + num2);
    })();
    
    /*字符数字互转*/
    (function() {
        // 可以使用parseInt函数转成整型
        var num = parseInt("232");
        // 可以使用parseFloat转成浮点型
        var num1 = parseFloat("22.22");
        // 使用toString函数转成字符串
        var str = num1.toString();
    
        document.write("<br>");
        document.write(num + " " + num1 + " " + str);
    })();
    
    /*保留小数后几位*/
    (function() {
        // 保留小数2位
        var a = 23.4655.toFixed(2);
        // 注意:如果最后一位是5 比如23.255 那么调用toFixed(2)后的结果有可能是23.47,也有可能是23.46, 跟浏览器有关
        // 为了解决这个问题,可以把最后一位的5替换成6来解决
        var str = "34.55555";
        if (str.charAt(str.length - 1) === "5") {
            str = str.slice(0, str.length - 1) + "6";
        }
    
        document.write("<br>");
        document.write("a:" + a + " str: " + str);
    })();
    
    /*Date是js的一个对象*/
    (function() {
        var date = new Date();
        document.write("<br>");
        document.write(date.toString());
    
        // 获取星期,注意:获取星期用的是getDay函数
        var weeks = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
        var week = date.getDay();
        document.write("<br>");
        document.write(weeks[week]);
    
        // 年
        var year = date.getFullYear();
        // 月
        var month = date.getMonth();
        // 日
        var day = date.getDate();
        // 时
        var hour = date.getHours();
        // 分
        var minute = date.getMinutes();
        // 秒
        var second = date.getSeconds();
        // 毫秒
        var millisecond = date.getMilliseconds();
        // 时间戳
        var time = date.getTime();
        document.write("<br>");
        document.write(year + " " + month + " "+ day + " "+ hour + " "+ minute + " "+ second + " "+ millisecond + " "+ time + " ");
    })();
    
    /*指定日期*/
    (function() {
        var date = new Date();
        var otherDate = new Date("June 30, 2030");
    
        var dateTime = date.getTime();
        var otherDateTime = otherDate.getTime();
    
        var dis = (otherDateTime - dateTime) / (1000 * 60 * 60 * 24);
        document.write("<br>");
        document.write("相差的天数: " + Math.floor(dis));
    })();
    
  • 相关阅读:
    计算几何 判断点在直线的左右哪一侧
    图论 迪杰斯特拉dijkstra求最短路径
    图论 用prim法求最小生成树
    图论 邻接表广搜
    图论 用广搜搜邻接矩阵
    图论 邻接表建图+dfs
    图论 邻接矩阵建图+dfs遍历
    HDU 2141 二分查找
    二叉树知道前序和中序求后序,知道中序后序求中序
    二叉树的查找
  • 原文地址:https://www.cnblogs.com/machao/p/6923377.html
Copyright © 2011-2022 走看看