@TOC
一、Math对象最大值
<script>
console.log(Math.PI);
console.log(Math.max(-1, 'rehdjsxsz', - 3));
</script>
二、封装自己的数学对象
<script>
var myMath = {
PI: 3.141592653,
max: function () {
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
},
min: function () {
var min = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] < min) {
min = arguments[i];
}
}
return min;
}
}
console.log(myMath.min(5, 3, 1));
</script>
三、Math绝对值和三个取整方法
<script>
console.log(Math.abs('-5'));
console.log(Math.floor(-1.3));
console.log(Math.ceil(-1.1));
console.log(Math.round(-1.5)); //-1 .5往大的取
</script>
四、Math对象随机数方法
<script>
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandom(1, 10));
//随机点名
var arr = ['张三', '李四', '李思思', '王五', 'pink老师'];
console.log(arr[getRandom(0, arr.length - 1)]);
</script>
五、猜数字游戏
<script>
var num = prompt('请输入数字');
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getRandom(1, 50);
for (var i = 0; i <= 9; i++) {
if (i == 9) {
alert('10次用完了');
break;
}
if (num > random) {
num = prompt('大了,继续猜');
// continue;
}
if (num < random) {
num = prompt('xiao了,继续猜');
// continue;
}
if (num == random) {
alert('对了');
break;
}
}
</script>
六、Date日期对象
<script>
var date = new Date();
console.log(date);
console.log(date.getFullYear());
console.log(date.getMonth() + 1);
console.log(date.getDate());
console.log(date.getDay());
var date1 = new Date(2019, 10, 1);
console.log(date1);
var date2 = new Date('2019-10-1 8:8:8');
console.log(date2);
</script>
七、格式化日期年月日
<script>
var date = new Date();
// console.log(date);
// console.log(date.getFullYear());
// console.log(date.getMonth() + 1);
// console.log(date.getDate());
// console.log(date.getDay());
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var day = date.getDay();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
console.log('今天是' + year + '年' + month + '月' + dates + '日 ' + arr[day]);
</script>
八、格式化日期时分秒
<script>
var date = new Date();
console.log(date.getHours());
console.log(date.getMinutes());
console.log(date.getSeconds());
function getTimer() {
var time = new Date();
function less10(num) {
num = num < 10 ? '0' + num : num;
return num;
}
var h = time.getHours();
h = less10(h);
var m = time.getMinutes();
m = less10(m);
var s = time.getSeconds();
s = less10(s);
return h + ':' + m + ':' + s;
}
console.log(getTimer());
</script>
九、获得Date总的毫秒数
<script>
var date = new Date();
console.log(date.valueOf());
console.log(date.getTime());
date1 = +new Date();
console.log(Date.now());
</script>
十、倒计时效果
<script>
function countDowm(time) {
var nowTime = +new Date();
var inpuTime = +new Date(time);
var times = (inpuTime - nowTime) / 1000;
var d = parseInt(times / 60 / 60 / 24);
var h = parseInt(times / 60 / 60 % 24);
var m = parseInt(times / 60 % 60);
var s = parseInt(times % 60);
function less10(num) {
num = num < 10 ? '0' + num : num;
return num;
}
d = less10(d);
h = less10(h);
m = less10(m);
s = less10(s);
return d + '天 ' + h + '时' + m + '分' + s + '秒';
}
console.log(countDowm('2023-12-11 18:00:00'));
</script>
十一、创建数组的两种方式
<script>
var arr = [1, 12, 3];
var arr0 = newArray();
var arr1 = new Array(3);//这个3表示里面的数组元素个数为3
var arr2 = new Array(1, 2, 11) //有三个数组元素 1,2,11
</script>
十二、检测是否为数组
<script>
var arr = [];
var obj = {}
console.log(arr instanceof Array);
console.log(obj instanceof Array);
function reverse(arr) {
if (Array.isArray(arr)) {
var newArr = [];
for (var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i];
}
return newArr;
} else {
return 'error 这个参数要求必须是数组格式 [1,2,3]'
}
}
console.log(reverse([1, 2, 3]));
console.log(reverse(1, 2, 3));
</script>
十三、添加删除数组元素方法
<script>
//1.push方法 在数组末尾添加一个数组元素
var arr = [1, 2, 3];
arr.push(4, 5);
console.log(arr);
console.log(arr.push());
// unshift 在数组开头添加一个数组元素
arr.unshift('red');
console.log(arr);
console.log(arr.unshift('red'));
arr.pop();
console.log(arr.pop());
</script>
十四、筛选数组
<script>
var arr = [1500, 1200, 2000, 2100, 1800];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < 2000) {
newArr.push(arr[i]);
}
}
console.log(newArr);
</script>
十五、数组排序
<script>
var arr = ['pink', 'red', 'blue'];
arr.reverse();
console.log(arr);
arr1 = [12, 31, 11, 14];
arr1.sort(function (a, b) {
//return a - b;//升序的顺序排列
return b - a; //降序
});
console.log(arr1);
</script>
十六、返回数组索引号方法
<script>
var arr = ['ard', 'green', 'blue', 'pink', 'blue'];
console.log(arr.indexOf('green'));
console.log(arr.lastIndexOf('blue'));
</script>
十七、数组去重
<script>
function unique(arr) {
var newArr = [];
// newArr.push(arr[0])
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique(['a', 'c', 'd', 'a', 'a', 'd', 'c']));
</script>
十八、将数组转化为字符串
<script>
var arr = [11, 2, 3];
console.log(arr.toString());
var arr1 = ['black', 'blue', 'red'];
console.log(arr1.join('-'));
console.log(arr1.join('&'));
</script>
十九、根据字符返回位置
<script>
var str='改革春风吹满地,春天来了'
console.log(str.indexOf('春'));
</script>
二十、练习返回字符位置
<script>
var arr = ['red', 'blue', 'red', 'green', 'red'];
var index = arr.indexOf('red');
console.log(index);
var num = 0;
while (index != -1) {
console.log(index);
num++;
index = arr.indexOf('red', index + 1);
}
console.log(num);
</script>
二十一、根据位置返回字符
<script>
var str = 'andy';
console.log(str.charAt(3));
for (var i = 0; i < str.length; i++) {
console.log(str.charAt(i));
console.log(str.charCodeAt(i));
}
</script>
二十二、统计出现最多的字符和次数
<script>
var str = 'adsfexsadesadesx';
var obj = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i);
if (obj[chars]) {
obj[chars]++;
} else {
obj[chars] = 1
}
}
var max = 0;
var ch = ''
for (var k in obj) {
if (obj[k] > max) {
max = obj[k];
ch = k;
}
}
console.log(obj);
console.log(max);
console.log('出现最多的字符是' + ch);
</script>
二十三、字符串操作方法
<script>
var str = '改革春风吹满地';
console.log(str.slice(2, 4));
</script>
二十四、字符串操作其他方法
<script>
var str = 'andyaedafdandy';
console.log(str.replace('a', 'b'));
while (str.indexOf('a') !== -1) {
str = str.replace('a', '*');
}
console.log(str);
var str2 = 'red,frfd,frd,hb';
console.log(str2.toUpperCase());
console.log(str2.split(','));
var str3 = 'rfd&fd&rfds&d';
console.log(str3.split('&'));
</script>
二十五、练习字符串
<script>
str = 'trfgdhcbxfhdcbrfhdbc';
console.log(str.length);
console.log(str.charAt(0));
console.log(str.charAt(3));
console.log(str.charAt(5));
console.log(str.indexOf('i'));
console.log(str.indexOf('c'));
while (str.indexOf('g') !== -1) {
str = str.replace('g', 22)
}
while (str.indexOf('c') !== -1) {
str = str.replace('c', 33)
}
console.log(str);
str1 = str.slice(1, 5);
console.log(str1);
var obj = {}
var chars;
for (var i = 0; i < str.length; i++) {
chars = str.charAt(i);
if (obj[chars]) {
obj[chars]++;
} else {
obj[chars] = 1;
}
}
console.log(obj);
var max = 0;
var p;
for (var k in obj) {
if (max < obj[k]) {
max = obj[k];
p = k;
}
}
console.log('出现最多的字符是' + p);
console.log('出现的次数是' + max);
</script>
二十六、简单数据类型
<script>
var timer = null;
console.log(typeof (timer));
</script>