zoukankan      html  css  js  c++  java
  • js基础(内置对象)

    如果直接使用构造函数创建一个Date对象,则会封装成当前代码的执行时间

    创建一个指定时间的Date对象,需要在构造函数中传递一个表示时间的字符串作为参数  日期格式:月份/日/年   时:分:秒

    <script type="text/javascript">
    
    var d = new Date();
    var d2 = new Date("5/09/2018 11:10:30");
    /*
     * getDate()
     *        - 获取当前日期对象是几日
     */
    console.log("当前时间的日期是:"+d.getDate());
    console.log("指定时间的日期是:"+d2.getDate());
    
    /*
     * getDay()
     *        - 获取当前日期对象时周几
     *        - 会返回一个0-6的值
     *                  0 表示周日
     *                  1表示周一
     *                  。。。
     */
    console.log("当前时间是周:"+d.getDay());
    console.log("指定时间是周:"+d2.getDay());
    
    /*
     * getMonth()
     * d2 = new Date("12/18/2011 11:10:30");
     * - 获取当前时间对象的月份
     *        - 会返回一个0-11的值
     *                  0 表示1月
     *                  1 表示2月
     *                  11 表示12月
     */
    console.log("当前时间的月份是:"+d.getMonth());
    console.log("指定时间的月份是:"+d2.getMonth());
    
    /*
    * getFullYear()
    *        - 获取当前日期对象的年份
    */
    console.log("当前时间的年数是:"+d.getFullYear());
    console.log("指定时间的年数是:"+d2.getFullYear());
    
    /*
     * getTime()
     *        - 获取当前日期对象的时间戳
     *        - 时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒
     *                  到当前日期所花费的毫秒数(1秒 = 1000毫秒)
     *        - 计算机底层在保存时间时使用都是时间戳
     */
    console.log("当前时间是:"+d.getTime());
    console.log("指定时间是:"+d2.getTime());
    
    //获取当前的时间戳
    var start = Date.now();
    console.log("当前时间是:"+ start);
    </script>

    Math对象

    /*
     * abs()可以用来计算一个数的绝对值
     */
    console.log(Math.abs(-1));
    /*
     * Math.ceil()
     *        - 可以对一个数进行向上取整,小数位只有有值就自动进1
     * Math.floor()
     *        - 可以对一个数进行向下取整,小数部分会被舍掉
     * Math.round()
     *        - 可以对一个数进行四舍五入取整
     */
    console.log(Math.ceil(1.1));
    console.log(Math.floor(1.99));
    console.log(Math.round(1.4));
    /*
    * Math.random()
    *        - 可以用来生成一个0-1之间的随机数
              *        - 生成一个0-10的随机数
              *        - 生成一个0-x之间的随机数
              *                  Math.round(Math.random()*x)
    * 
    *        - 生成一个1-10
              *        - 生成一个x-y之间的随机数
              *                  Math.round(Math.random()*(y-x)+x)
    */
    for(var i=0 ; i<100 ; i++){
              //console.log(Math.round(Math.random()*10));
              //console.log(Math.round(Math.random()*20));
              
              //console.log(Math.round(Math.random()*9)+1);
              //console.log(Math.round(Math.random()*8)+2);
              
              //生成1-6之间的随机数
              //console.log(Math.round(Math.random()*5+1));
    }
    /*
     * max() 可以获取多个数中的最大值
     * min() 可以获取多个数中的最小值
     */
    var max = Math.max(10,45,30,100);
    var min = Math.min(10,45,30,100);
    console.log(min);
    console.log(max);
    /*
    * Math.pow(x,y)
    *        返回x的y次幂
    */
    console.log(Math.pow(12,3));
    /*
    * Math.sqrt()
    *  用于对一个数进行开方运算
    */
    console.log(Math.sqrt(2));

    包装类:js提供了三个包装类:String、Number、Boolean,通过者三个包装类可以将基本类转换成对象

    console.log(typeof new Number(2324));//object
    console.log(typeof new Boolean(true));//object

    基本类型:String、Number、Boolean、Null、Undefined

    引用类型:Object

    在实际中,一般不使用基本数据类型的对象,如果使用,可能带来一些不可预期的后果

    var number = new Number(1);
    number.str = "success";
    console.log(number);//Number {1, str: "success"}
    var bool1 = new Boolean(true);
    var bool2 = new Boolean(true);
    console.log(bool2 == bool1);//false  两个不同的对象
    var b = new Boolean(false);
    if(b){
             console.log("条件是真值"); //这里会运行
    }
    /*
    * 方法和属性之能添加给对象,不能添加给基本数据类型
    *        当我们对一些基本数据类型的值去调用属性和方法时,
    *                  浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法
    *                  调用完以后,在将其转换为基本数据类型
    */
    var s = 123;
    s = s.toString();
    s.hello = "你好";
    
    console.log(s.hello);  //undefined
    console.log(typeof s); //string

    字符串在底层是字符数组的形式进行保存

    /*
     * length属性
     *        - 可以用来获取字符串的长度
     */
     var str = "success";
    console.log(str.length);
    console.log(str[5]);
    /*
     * charAt()
     *        - 可以返回字符串中指定位置的字符
     *        - 根据索引获取指定的字符       
     */
    var result = str.charAt(4);
    console.log(result); //e
    /*
     * charCodeAt()
     *        - 获取指定位置字符的字符编码(Unicode编码)
     */
    console.log(str.charCodeAt(0));
    /*
    * String.formCharCode()
    *        - 可以根据字符编码去获取字符
    */
    console.log(String.fromCharCode(0x2692));
    /*
     * concat()
     *        - 可以用来连接两个或多个字符串
     *        - 作用和+一样
     */
     console.log(str.concat("hello","world"));//successhelloworld
     /*
     * indexof()
     *        - 该方法可以检索一个字符串中是否含有指定内容
     *        - 如果字符串中含有该内容,则会返回其第一次出现的索引
     *                  如果没有找到指定的内容,则返回-1
     *        - 可以指定一个第二个参数,指定开始查找的位置
     * 
     * lastIndexOf();
     *        - 该方法的用法和indexOf()一样,
     *                  不同的是indexOf是从前往后找,
     *                  而lastIndexOf是从后往前找
     *        - 也可以指定开始查找的位置
     */
    console.log(str.indexOf("e",1));     //4
    console.log(str.lastIndexOf("s",7)); //6
    /*
     * slice()
     *        - 可以从字符串中截取指定的内容
     *        - 不会影响原字符串,而是将截取到内容返回
     *        - 参数:
     *                  第一个,开始位置的索引(包括开始位置)
     *                  第二个,结束位置的索引(不包括结束位置)
     *                            - 如果省略第二个参数,则会截取到后边所有的
     *                  - 也可以传递一个负数作为参数,负数的话将会从后边计算
     */
    str = "abcdefghijk";
    result = str.slice(1,4);
    console.log(result);       //bcd
    result = str.slice(1,-1);  //bcdefghij
    console.log(result);
    /*
     * substring()
     *        - 可以用来截取一个字符串,可以slice()类似
     *        - 参数:
     *                  - 第一个:开始截取位置的索引(包括开始位置)
     *                  - 第二个:结束位置的索引(不包括结束位置)
     *                  - 不同的是这个方法不能接受负值作为参数,
     *                            如果传递了一个负值,则默认使用0
     *                  - 而且他还自动调整参数的位置,如果第二个参数小于第一个,则自动交换
     */
    
    result = str.substring(0,1);
    console.log(result);    //a
    /*
     * substr()
     *        - 用来截取字符串
     *        - 参数:
     *                  1.截取开始位置的索引
     *                  2.截取的长度
     */
    str = "abcdefg";
    result = str.substr(3,2);
    console.log(result);   //de
    /*
    * split()
    *        - 可以将一个字符串拆分为一个数组
    *        - 参数:
    *                  -需要一个字符串作为参数,将会根据该字符串去拆分数组
    */
    str = "abcbcdefghij";
    result = str.split("d");
    console.log(result);  //["abcbc", "efghij"]
    /*
    * 如果传递一个空串作为参数,则会将每个字符都拆分为数组中的一个元素
    */
    result = str.split("");
    console.log(result);  //["a", "b", "c", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
                               
    /*
    * toUpperCase()
    *        - 将一个字符串转换为大写并返回
    */
    str = "abcdefg"; 
    result = str.toUpperCase();
    console.log(result);
    
    /*
    * toLowerCase()
    *        -将一个字符串转换为小写并返回
    */
    str = "ABCDEFG";
    result = str.toLowerCase();
    console.log(result);

              

  • 相关阅读:
    浅谈 LCA
    树剖毒瘤题整理
    树链剖分&咕咕咕了好久好久的qtree3
    洛谷P4095新背包问题
    洛谷P4127同类分布
    洛谷P4124 手机号码
    数位dp好题整理+自己wa过的细节记录
    P4999烦(gui)人(chu)的数学作业
    洛谷P4317 花(fa)神的数论题(数位dp解法)
    网络流之最短路径覆盖问题
  • 原文地址:https://www.cnblogs.com/lzb0803/p/9019390.html
Copyright © 2011-2022 走看看