// 获取指定范围内的随机数
function randomNum(maxNum, minNum, decimalNum){
// 获取指定范围内的随机数, decimalNum指小数保留多少位
var max = 0,
min = 0;
minNum <= maxNum ? (min = minNum, max = maxNum) : (min = maxNum, max = minNum);
switch (arguments.length) {
case 1:
return Math.floor(Math.random() * (max + 1));
break;
case 2:
return Math.floor(Math.random() * (max - min + 1) + min);
break;
case 3:
return (Math.random() * (max - min) + min).toFixed(decimalNum);
break;
default:
return Math.random();
break;
}}
console.log(randomNum(1, 2,5));
// 汉字和Unicode编码互转
function isChinese(s){
return /[\u4e00-\u9fa5]/.test(s);
}
function ch2Unicdoe(str){
if(!str){
return;
}
var unicode = '';
for (var i = 0; i < str.length; i++) {
var temp = str.charAt(i);
if(isChinese(temp)){
unicode += '\\u' + temp.charCodeAt(0).toString(16);
}
else{
unicode += temp;
}
}
return unicode;
}
// var str = 'love中国你好';
var str = 'lovepython是一种\\中国lll';
var unicode = ch2Unicdoe(str) // love\u4e2d\u56fd\u4f60\u597d
console.log(unicode);
function unicode2Ch(str){
if(!str){
return;
}
// 控制循环跃迁
var len = 1;
var result = '';
// 注意,这里循环变量的变化是i=i+len 了
for (var i = 0; i < str.length; i=i+len) {
len = 1;
var temp = str.charAt(i);
if(temp == '\\'){
// 找到形如 \u 的字符序列
if(str.charAt(i+1) == 'u'){
// 提取从i+2开始(包括)的 四个字符
var unicode = str.substr((i+2),4);
// 以16进制为基数解析unicode字符串,得到一个10进制的数字
result += String.fromCharCode(parseInt(unicode,16).toString(10));
// 提取这个unicode经过了5个字符, 去掉这5次循环
len = 6;
}
else{
result += temp;
}
}
else{
result += temp;
}
}
return result;
}
// var str2 = unicode2Ch("love\u4e2d\u56fd1234\u4f60\u597d")//love中国1234你好
var str2 = unicode2Ch(unicode)//love中国1234你好
console.log(str2);
// js 将对象转换成以=和&连接的字符串
X = function(obj) {
return Object.keys(obj).map(key => {
return encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]);
}).join('&');
}
const aa= { name: 'John Doe', age: 30, city: 'New York' };
console.log(X(aa));
//name=John%20Doe&age=30&city=New%20York