第 1 题
多行字符串的声明有哪几种常见写法?
- 如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。
var longString = "Long \
long \
long \
string";
- 连接运算符(+)可以连接多个单行字符串,用来模拟多行字符串。
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'
写出以下操作的代码范例
- 获取 str 下标为3的字符
- 获取 str 下标为4的字符的 Ascii 码
- 截取字符g到末尾的字符串
- 从字符o开始,截取长为4个字符的字符串
- 获取第一个 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);