var colorArr = ['red','green','yellow','red','blue','orange','black','white','purple'];
// 新建一个字符串测试数组
var unNumArr = ['0','1','2','3','4','5','6','7','8'];
// 新建一个有序数值测试数组
var numArr = ['123','21','5','231','50','3','21','0','34'];
// 新建一个无序数值测试数组
var obj = [
{
name:'万恒志',
age:22
},
{
name:'任婕婷',
age:22
},
{
name:'刘备',
age:122
},
{
name:'张飞',
age:123
},
{
name:'关羽',
age:146
},
];
// // 数组的位置方法
// // 1. indexOf() 正向查找 lastIndexOf()
// console.log('第一个‘red’的下标是:' + arr.indexOf('red'));
// // 正向从前往后查找默认第一个‘red’的下标,还可以制定查找第几个元素
// console.log('第二个‘red’的下标是:' + arr.indexOf('red',2));
// var arr2 = ['whz','red','green','whz','rjt'];
// console.log('第一个‘red’的下标是:' + arr2.lastIndexOf('whz'));
// // lastIndexOf 则是从后往前查找第一个匹配的元素,返回其下标值
// console.log('第二个‘red’的下标是:' + arr2.lastIndexOf('whz',2));
// // 如果查不到结果,就返回-1
// // 数组的迭代方法
// // 1. filter方法 将数组元素进行过滤
// var filterResult = numArr.filter(function(item,index,array){
// return item>10;
// // 过滤出item大于10的所有元素
// });
// console.log(filterResult);
// // 2. map方法 映射
// console.log(numArr.map(function(item,index,array){
// return item*2;
// }));
// // 3. 数组遍历 forEach
// colorArr.forEach(function(item,index){
// console.log(item);
// });
// 字符串的方法
var strChinese = ' 万恒志喜欢任婕婷 '; // 中文字符串
var strEnglish = 'whz love rjt, when I was young, I fall in love with her.'; // 英文字符串
// // 1. 属性
// console.log('字符串为:' + strEnglish);
// // 打印一下字符串
// console.log('字符串长度为:' + strEnglish.length);
// // 打印字符串的长度属性
// // 2. 方法
// console.log('获取字符为:' + strEnglish.charAt('9'));
// // 获取指定的字符
// console.log('字符串编码为:' + strEnglish.charCodeAt('0'));
// // 获取指定的字符对应的编码
// // 一般情况不需要使用concat方法进行字符串的拼接,可以用加号进行拼接。
// // 2. 字符串的切片方法
// // slice方法 substring方法 substr方法第一个参数都是一样的
// console.log(strChinese.slice(2));
// console.log(strChinese.substr(2));
// console.log(strChinese.substring(2));
// // 从第二个元素截取到末尾
// // 三个方法不同的地方在于第二个参数
// console.log(strChinese.slice(2,4));
// console.log(strChinese.substr(2,4));
// console.log(strChinese.substring(2,4));
// // slice和substring方法基本一样,顾头不顾尾
// // 但是substr方法 ,从第一个参数开始,第二个参数指返回的字符数
// // 3. 字符串的其他方法
// console.log(strChinese.indexOf('任'));
// // 查找任字符在字符串中的位置
// console.log(strChinese.indexOf('任',6));
// // 从第6个元素之后开始找
// console.log(strChinese.lastIndexOf('任'));
// // 倒序查找,用法和上述indexOf差不多
// console.log(strChinese);
// console.log(strChinese.trim());
// // trim方法去除前后空格
// console.log(strEnglish.toUpperCase());
// // 转换为大写字母
// console.log(strEnglish.toLowerCase());
// // 转换为小写字母
// 如何查找当前字符的所有位置
// var arr = [];
// // 创建一个空数组,用于保存所有找到的字符的位置。
// var pos = strEnglish.indexOf('w');
// while(pos > -1){
// arr.push(pos);
// pos = strEnglish.indexOf('w',pos+1);
// }
// console.log(arr);
// // map方法的应用
// var objName = obj.map(function(item,index){
// return item.name;
// });
// var objAge = obj.map(function(item,index){
// return item.age;
// });
// console.log(objName);
// console.log(objAge);
// 日期对象
// var now = new Date();
// console.log(now);
// // var xmas = new Date('Dec 25,2002 18:21:00');
// // // UTC格式输出日期顺序
// // console.log(xmas);
// // var xmds = new Date(1995,11,23,14,14,14);
// // // 月份取值是0-11
// // console.log(xmds);
// // 日期对象常用的方法
// // 1. 获取月份的第几天,取值是1--31
// console.log(now.getDate());
// // 2. 获取月份 取值0--11
// console.log(now.getMonth()+1);
// // 获取月份的时候需要+1
// // 3. 获取年份
// console.log(now.getFullYear());
// // 4. 获取星期几 0--6
// console.log(now.getDay());
// // 5. 获取小时 0--23
// console.log(now.getHours());
// // 6. 获取分钟 0--59
// console.log(now.getMinutes());
// // 7. 获取秒 0--59
// console.log(now.getSeconds());
// // 8. 获取毫秒 0--999
// console.log(now.getMilliseconds());
// // 日期对象格式化的一些方法
// // 1. 星期几 日 月 年
// console.log(now.toDateString());
// // 2. 获取时 分 秒 时区
// console.log(now.toTimeString());
// // 3. 月 日 年
// console.log(now.toLocaleDateString());
// // 4. 月 日 年 时 分 秒
// console.log(now.toLocaleString());
// // 5. 时 分 秒 时区
// console.log(now.toTimeString());
// // 6. 获取国际时间 不常用
// console.log(now.toUTCString());
// // 如何显示数字时钟时间格式?
// function nowNumTime(){
// var now = new Date(); // now`s time
// var hour = now.getHours(); // now`s hour
// var second = now.getSeconds(); // now`s second
// var minute = now.getMinutes(); // now`s minute
// var strtemp = '' + (hour>18?(hour-12):hour); // 12小时进制
// if(hour === 0){
// strtemp = '12';
// }
// strtemp = strtemp + ((minute<10)?':0':":") + minute;
// strtemp = strtemp + ((second<10)?':0':":") + second;
// strtemp = strtemp + ((hour>=12)?' p.m.':' A.M.');
// return strtemp;
// }
// 字符串与数值类型相互转换
// var fstr = '123453.321431';
// // 1. 解析为整数,当不是数值的时候,就不会保留了
// console.log(fstr);
// console.log(parseInt(fstr));
// // 2. 解析为浮点数
// console.log(parseFloat(fstr));
// // 3. Number函数,如果解析之后不是纯数值的字符串,那么返回NaN
// console.log(Number(fstr));
// // 检测返回值是否是NaN方法,如果不是数值就返回一个true
// console.log(isNaN('aaa'));
// // 数值转字符串
// // 1.
// var num = 213272.61836;
// // toString转换
// var a = num.toString();
// // 强制转换
// console.log(String(num));
// // 隐式转换
// '' + num;
// // 保留两位小数,四舍五入
// console.log(num.toFixed(2));
// // Global 对象
// // URI 统一通用资源定位符
// // encodeURI,会把中文和空格等不合法字符进行编码
console.log(encodeURI(strChinese));
// console.log(encodeURI(strEnglish));
// // encodeURIComponent 将所有的字符进行编码
// console.log(encodeURIComponent(strEnglish));
// console.log(decodeURI('%20%20%E4%B8%87%E6%81%92%E5%BF%97%E5%96%9C%E6%AC%A2%E4%BB%BB%E5%A9%95%E5%A9%B7%20%20'));
// windows对象详解
// 定义的全局变量和函数,都挂载在最顶层的window对象上。
// // math数学对象
// console.log(Math.E);
// console.log(Math.LN10);
// console.log(Math.LN2);
// console.log(Math.LOG2E);
// console.log(Math.SQRT2);
// console.log(Math.PI);
// console.log(Math.SQRT1_2); // 1/2二分之一开平方
// console.log(Math.max(12,321,4231,4,21,4,2314,1,42,14,2,15));
// console.log(Math.min(12,321,4231,4,21,4,2314,1,42,14,2,15));
// console.log(Math.max.apply(null,numArr));
// // 获取数组中的最大最小值,用max.apply方法
// console.log(Math.ceil(3.0));
// // ceil方法,不管小数点后面有多少位,都要往前进1,向上取整
// console.log(Math.floor(3.9));
// // 向下取整
// console.log(Math.round(3.5));
// // 标准的四舍五入
// console.log(Math.random());
// // 随机数0--1
// 某个范围的随机整数
function random(min,max){
return Math.floor(Math.random()*(max - min) - min);
}
// function colorRandom(){
// var r = random(0,256);
// var g = random(0,256);
// var b = random(0,256);
// return `rgb(${r},${g},${b})`;
// }
// console.log(colorRandom());
// 产生随机验证码
function creatCode(){
// 设置默认的字符串
var code = '';
// 设置验证码长度
var size = 4;
// 设置随机遍历的字符串内容
var randomCode = ['w','h','z','l','o','v','e','r','j','t'];
for(var i = 0;i<size;i++){
var index = random(0,9);
code += randomCode[index];
}
return code;
}
console.log(creatCode());
// BOM对象 --- 浏览器对象模型
// 前进、后退、搜索按钮、地址栏等对象
// 1. window对象
// 2. location对象
// 3. screen对象
// 4. history对象