1、Math对象是一个数学对象,不是一个构造函数。
2.1 向下取整数
var a = 2.1;
console.log(Math.floor(a)) // 2
2.2 向上取整
var a = 3.1
console.log(Math.ceil(a)) // 4
2.3 四舍五入
console.log(Math.round(2.6))
<script> // 构造函数实例化对象是使用new的方式!!! console.log(Math.PI); // 3.1415926... // max console.log(Math.max(1, 100, 20)) console.log(Math.max(-1, -100)); console.log(Math.max(1, 100, "你好")) console.log(Math.max()) // min最小值 console.log(Math.min(10, 20, 1)) </script>2、封装一个Math对象
<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; } }3、Math取随机数
<script> // random方法进行随机取值 // 随机值的取值为 0 =< x < 1 console.log(Math.random()) // 能不能获取到一个随机数 10 - 100 // 0 - 1 * 90 = 0 - 90 console.log(Math.floor((Math.random() * (100 - 10)) + 10)) // 封装成了一个函数 function getRandom(min, max) { return Math.floor((Math.random() * (max - min + 1)) + min) } // 随机点名 var arr = ["曹鑫", "吉喆", "张嘉译"]; console.log(arr[getRandom(0, arr.length - 1)]) </script>4、猜数字
<script> // 随机生成 1 - 10之间的整数, // 2.需要猜数字,一直猜,如果正确就提示正确了,如果不正确就一直猜。 // 如果数字大了,提示大 小了提示小了。 function getRandom(max, min) { return Math.floor(Math.random() * (max - min + 1) + min) } var randomNum = getRandom(1, 10); while(1) { var num = prompt("请输入您猜想的数字: (1-10之间)") if(num > randomNum) { alert("您猜的数字大了") }else if(num < randomNum) { alert("您猜的数字小了") }else { alert("猜对了") break; } } </script>5Date对象是一个构造函数
<script> // var obj = new Object(); // Date 是一个构造函数 var date = new Date(); var date = new Date(2020, 3, 18); var date = new Date("2020-03-18 10:12") </script>6、Date对象方法
<script> var date = new Date(); // 获取到当前的年份 console.log(date.getFullYear()) // 获取当前的月份。 获取的值从0开始 console.log(date.getMonth() + 1) // 获取到日 console.log(date.getDate()); // 获取到星期几 console.log(date.getDay()) // 将咱们今天的日期输出出来 2020年3月18日星期三 var year = date.getFullYear(); var month = date.getMonth()+1; var dates = date.getDate(); var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'] var day = arr[date.getDay()]; console.log("今天日期为", year + "年" + month + "月" + dates + "号" + day); </script>
/ / var date = new Date(); // // console.log(date) // // 小时 // console.log(date.getHours()) // // 分钟 // console.log(date.getMinutes()) // // 秒 // console.log(date.getSeconds())
7、获取时间戳
var date = new Date();
<script> // 时间戳是什么? // 是从1970年1月1日0:0:0 到某一点时间点位置的总毫秒数!!! var date = new Date(); // 1.获取时间戳方式1 console.log(date.valueOf()) // 2.获取时间戳方式2 console.log(date.getTime()) // 3.使用+new获取 这个+相当于调用valueof console.log(+new Date()) // 4.Date.now() console.log(Date.now()) </script>
8、倒计时
<script> // 倒计时 // 2020 3 19 12:00:00 // 3 18 10:36:42 // 1.初始化时间的时候注意 // 2020-3-19 12:00:00 function countDown(time) { // 当前时间戳 var nowTime = +new Date(); // 未来时间戳 var willTime = +new Date(time) // 时间戳偏移值,毫秒数 => 秒 var offsetTime = (willTime - nowTime)/1000; // var day = parseInt(offsetTime / 60 / 60 / 24); // 天数 var hours = parseInt(offsetTime / 60 / 60 % 24); // 剩余的小时数 var minutes = parseInt(offsetTime / 60 % 60); // 剩余的分钟数 var seconds = parseInt(offsetTime % 60); // 剩余的秒数 return "剩余时间为:" + day + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"; } console.log(countDown("2020-3-19 12:00:00")) </script>9、实例对象上的方法
<script> var arr = [1, 2, 3]; // 数组里面添加数据 4 // arr[arr.length] = 4; // console.log(arr) // 数组里面有对应的方法 push // 1.push函数将10推到数组中去,并且返回arr的新长度 ,压到最后面 console.log(arr.push(10)) // 2.弹出pop // pop 函数将10 弹出去, 并且返回弹出去的值!!!弹出去最后面的值 console.log(arr.pop()) // 3.unshift 压入 // unshift压到数组中的最前面,并且返回数组的新长度 console.log(arr.unshift(100)) // console.log(arr) // 4.shift 弹出 // shift 函数将100 弹出去, 并且返回弹出去的值!!! 弹出去最前面的值 console.log(arr.shift()) console.log(arr) </script>10实例
<script>
var arr = [20, 30, 24, 10, 8];
// 筛选出来大于10的数据
var newArr = []
for(var i = 0; i < arr.length; i++) {
if(arr[i] > 10) {
newArr.push(arr[i]) //将arr[i]的值推到新的数组里
}
}
console.log(newArr)
</script>
11、反转数组
// 反转数组
var arr = [10, 8, 2, 3, 4, 5];
arr.reverse();
console.log(arr)
// 数组的排序
// 在函数中传递函数。
//
arr.sort(function(a, b) {
return b - a;
});
console.log(arr)
//
12、获取元素中的索引值用indexOf
var arr = ["red", "yellow", "pink", "yellow"] // 想问yellow再数组中的索引下标是多少。1 // indexOf 获取到数组中第一个为yellow的索引值!!! console.log(arr.indexOf("yellow")) // lastIndexOf console.log(arr.lastIndexOf("yellow"))13、利用索引值去重
<script> // 把数组中的每一项都取出来, // 每取一个值,就要和新数组中进行对比,看是否有了这个字符,如果没有直接压入,如果有则抛弃 var arr = ["a", "b", "c", "a", "d", "b"] function unique(arr) { var newArr = []; for(var i = 0; i < arr.length; i++) { // indexOf如果返回值为-1, 则不存在改索引 if(newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]) } } return newArr } console.log(unique(arr)) </script>14、查找数组中出现字符的次数
<script> var str = "abddadadffretrtysdfgadadsfs"; // 需要查询出来 a 有多少个 var num = 0; // indexOf如果没有这个字符,就会返回-1 var index = str.indexOf("a"); while(index !== -1) { // 每一次循环必然会找到一个a. num++; index = str.indexOf('a', index + 1) } console.log("a出现的次数为", num) </script>15、charAt的使用
<script> var str = "你好" // 由位置求出字符串中的字符!!! console.log(str.charAt(1)) for(var i = 0; i < str.length; i++) { console.log(str.charAt(i)) } //charCodeAt是将字符转换成Ascii // ASCII 是什么。编码。。。utf8 gbk gb2312... var str = "helloworld" console.log(str.charCodeAt(str[0])) // formCharCode var num = 104; console.log(String.fromCharCode(num)) </script>16、统计多次出现的字符和次数
<script> // 统计出来一个字符串中出现次数最多的字符,并且打印出来出现了几次!!! // var obj = { // age: 18 // } // while(1) { // if (obj['sex']) { // console.log("里面有属性") // } else { // obj['sex'] = "123" // console.log("没有这个属性") // } // } var str = "aaadddvdfsaffgfddvxfhgdfgfdgg"; var obj = {} for(var i = 0; i < str.length; i++) { var char = str.charAt(i); if(obj[char]) { // obj['a']++ = 2 obj[char]++; }else { // obj['a'] = 1 obj[char] = 1; } } /* key 是字符名称 num是字符的数量 obj{ key:num } */ console.log(obj) var max = 0; var ch = ''; for(var key in obj) { if(obj[key] > max) { max = obj[key] ch = key; } } console.log("在字符串中字符出现最多的是:"+ch+";出现了"+max+"次") </script>17、字符串的合并:
var str1 = "hello" var str2 = "world" // 使用concat进行连接字符串 var str3 = str1.concat(str2) console.log(str3)字符串的截取
var str4 = "中国加油,武汉加油" // substr截取字符串 // 第一个参数为从索引号为0 开始 // 第二个参数取几个字符 // -1是在最后一个位置 console.log(str4.substr(-3, 2))字符的替换
// 字符串里面的字符进行替换 // " " => "" var str = "helloworld 改 革 春 风 吹 满 地 "; // helloworld改 革 春 风 吹 满 地 // helloworld改革 春 风 吹 满 地 // helloworld改革春 风 吹 满 地 while(str.indexOf(" ") !== -1) { str = str.replace(" ", "") } console.log(str)字符转换为数组
var str = "red,pink,blue" console.log(str.split(","))