美文网首页
lesson22 字符串 & Math & Date

lesson22 字符串 & Math & Date

作者: 红豆丁244 | 来源:发表于2018-09-06 08:09 被阅读0次

    第 1 题

    多行字符串的声明有哪几种常见写法?

    1. 如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。
    var longString = "Long \
    long \
    long \
    string";
    
    1. 连接运算符(+)可以连接多个单行字符串,用来模拟多行字符串。
    var longString = 'Long '
       +  'long '
       +  'long '
       +  'string';
    

    第 2 题

    以下代码 输出什么?

    var str = 'C:\Users\Document\node\index.js'
    console.log(str.length)
    

    如何声明 str 让 console.log(str)输出 C:\Users\Document\node\index.js?

    答案:27,斜杠作为转义符号不算在字符串长度内

    var str = 'C:\\Users\\Document\\node\\index.js'
    console.log(str)// C:\Users\Document\node\index.js
    

    第 3 题

    对于字符串

    var str = 'hello jirengu.com'
    写出以下操作的代码范例

    1. 获取 str 下标为3的字符
    2. 获取 str 下标为4的字符的 Ascii 码
    3. 截取字符g到末尾的字符串
    4. 从字符o开始,截取长为4个字符的字符串
    5. 获取第一个 l的下标
    var str = 'hello jirengu.com';
    console.log(str.charAt(3));//"l"
    console.log(str.charCodeAt(4));//111
    console.log(str.substring(str.search('g'),str.length));//"gu.com"
    console.log(str.substr(str.search('o'),4));//"o ji"
    console.log(str.search("l"));//2
    

    第 4 题

    写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为 0.0.0.0~255.255.255.255。

    function getRandIP(){
      //补全
    }
    var ip = getRandIP()
    console.log(ip) // 10.234.121.45
    
    function getRandIP(){
      var newIp = [];
      for (var i = 0;i < 4;i++)
        newIp[i] = Math.floor(Math.random()*256);
      return newIp.join(".");
    }
    var ip = getRandIP()
    console.log(ip)
    

    第 5 题

    写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff。

    function getRandColor(){
    }
    var color = getRandColor()
    console.log(color)   // #3e2f1b
    
    function getRandColor(){
      var dic = "0123456789abcdef";
      var newColor = "#";
      for (var i = 0;i < 6;i++){
        newColor += dic[Math.floor(Math.random()*16)];
      }
      return newColor;
    }
    var color = getRandColor()
    console.log(color)  
    

    第 6 题

    写一个函数,返回从min到max之间的 随机整数,包括min不包括max 。

    function getRandNumber(min,max){
      return min + Math.floor(Math.random()*(max-min));
    }
    console.log(getRandNumber(0,10));
    

    第 7 题

    写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。

    function getRandStr(len){
      //补全函数
    }
    var str = getRandStr(10); // 0a3iJiRZap
    
    function getRandStr(len){
      var dic = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
      var newStr = "";
      for (var i = 0;i < len;i++){
        newStr += dic[Math.floor(Math.random()*dic.length)];
      }
      return newStr;
    }
    var str = getRandStr(10)
    console.log(str)  
    

    第 8 题

    写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串。假设参数为时间对象毫秒数t,根据t的时间分别返回如下字符串:

    • 刚刚( t 距当前时间不到1分钟时间间隔)
    • 3分钟前 (t距当前时间大于等于1分钟,小于1小时)
    • 8小时前 (t 距离当前时间大于等于1小时,小于24小时)
    • 3天前 (t 距离当前时间大于等于24小时,小于30天)
    • 2个月前 (t 距离当前时间大于等于30天小于12个月)
    • 8年前 (t 距离当前时间大于等于12个月)
    function friendlyDate(time){
      var pastTime = Date.now() - time;
      if (pastTime < 1000*60) return "刚刚";
      if (pastTime < 1000*60*60) return Math.floor(pastTime/(1000*60)) + "分钟前";
      if (pastTime < 1000*60*60*24) return Math.floor(pastTime/(1000*60*60)) + "小时前";
      if (pastTime < 1000*60*60*24*30) return Math.floor(pastTime/(1000*60*60*24)) + "天前";
      if (pastTime < 1000*60*60*24*30*12) return Math.floor(pastTime/(1000*60*60*24*30)) + "个月前";
      return Math.floor(pastTime/(1000*60*60*24*30*12)) + "年前";
    }
    var str = friendlyDate( '1484286699422' )
    console.log(str);
    

    相关文章

      网友评论

          本文标题:lesson22 字符串 & Math & Date

          本文链接:https://www.haomeiwen.com/subject/tzltgftx.html