1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 内置对象 API Math对象 Data对象 Array对象 String对象

内置对象 API Math对象 Data对象 Array对象 String对象

时间:2019-11-09 04:04:02

相关推荐

内置对象 API Math对象 Data对象 Array对象 String对象

Javascript分三种对象:自定义对象、内置对象、浏览器对象

前两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的。

内置对象:就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)

常用的Math对象

Math对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整,最大值等)可以使用Math中的成员。

// 函数封装自己的数学方法 模仿Math内部// 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.PI);// console.log(myMath.max(1, 4, 6, 8));// console.log(myMath.min(1, 4, 6, 8));// 绝对值方法console.log(Math.abs(1)); // 1console.log(Math.abs(-1)); // 1console.log(Math.abs('-1')); // 隐式转换 把字符串 -1 转换为数字型console.log(Math.abs('pink')); // NaN// 三个取整数方法// (1)Math.floor() 地板 向下取整 往最小了取值console.log(Math.floor(1.1)); // 1console.log(Math.floor(1.9)); // 1// (2)Math.ceil() 天花板 向上取整 往最大了取值console.log(Math.ceil(1.9)); // 2console.log(Math.ceil(1.9)); // 2// (3)Math.round() 四舍五入 其他数字都是四舍五入,但是 .5 特殊 它往大了取值console.log(Math.round(1.1)); // 1console.log(Math.round(1.5)); // 2console.log(Math.round(1.9)); // 2console.log(Math.round(-1.1)); // -1console.log(Math.round(-1.5)); // 这个结果是-1// 1.Math对象随机数方法, random() 返回一个随机的小数 0 =< x < 1// 2.这个方法里不跟参数// 3.代码验证console.log(Math.random());// 4.得到两个数字之间的随机整数, 并且 包含这两个数function getRandom(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min;}console.log(getRandom(1, 10));// 5.随机点名var arr = ['小明', '小红', '小白', '小李'];console.log(arr[getRandom(0, arr.length - 1)]);// 猜数字// 1.随机生成一个1~10之间的整数// 2.需要一直猜到正确数字,所以需要一直循环// 3.while 循环// 4.核心算法:使用 if else if 多分支语句来判断大于,小于,等于function getRandom(min, max) {return Math.floor(Math.random() * (max - min + 1) + min);}var random = getRandom(1, 10);while (true) {var num = prompt('猜1~10之间的整数');if (num > random) {alert('猜大了!')} else if (num < random) {alert('猜小了!');} else {alert('猜对了!');break;}}

常用的Data对象

日期格式化

// Date()日期对象 是一个构造函数,必须使用new 来调用 创建日期对象var arr = new Array(); // 创建一个数组对象var obj = new Object(); // 创建一个数组对象// 1.使用Date 如果没有参数,返回系统的当前时间var date = new Date();console.log(date);// 2.参数常用的写法 数字型 , 10, 01 或者 字符串型 '-10-1 8:8:8'var date1 = new Date(, 10, 1);console.log(date1);var date2 = new Date('-10-1 8:8:8');console.log(date2);// 格式化日期 年月日var date = new Date();console.log(date.getFullYear()); // 返回当前年份 console.log(date.getMonth() + 1); // 返回月份 返回的月份小 1 个月 记得月份 + 1 console.log(date.getDate()); // 返回的是 几号console.log(date.getDay()); // 周日返回的是 0 ,周一返回 1 周六返回 6console.log(date.getHours()); // 小时console.log(date.getMinutes()); // 分钟console.log(date.getSeconds()); // 秒中国// 写一个 3月 26日 星期五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]);// 格式化时分秒// 要求封装一个函数返回当前的时分秒 格式 08:08:08function getTime() {var time = new Date();var hours = date.getHours();hours = hours < 10 ? '0' + hours : hours;var minutes = date.getMinutes();minutes = minutes < 10 ? '0' + minutes : minutes;var seconds = date.getSeconds();seconds = seconds < 10 ? '0' + seconds : seconds;return hours + ':' + minutes + ':' + seconds}console.log(getTime());// 获得Date总的毫秒数(时间戳) 不是当前时间的毫秒数 而是距离1970年1月1号过了多少毫秒数// 1.通过 valueOf() getTime()var date = new Date();console.log(date.valueOf()); // 获得 当前时间 距离1970.1.1 总的毫秒数console.log(date.getTime());// 2.简单写法(最常用的写法)var date1 = +new Date(); // new Date() 返回就是总的毫秒数console.log(date1);// 3.H5 新增的 获得总的毫秒数console.log(Date.now());

倒计时

// 倒计时案例function conutDown(time) {var nowTime = +new Date(); // 总的毫秒数var inputTime = +new Date(time); // 输入的毫秒数var times = (inputTime - nowTime) / 1000; // times 剩余时间总的毫秒数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); // 秒钟d = d < 10 ? '0' + d : d;h = h < 10 ? '0' + h : h;m = m < 10 ? '0' + m : m;s = s < 10 ? '0' + s : s;return d + '天 ' + h + ':' + m + ':' + s;}console.log(conutDown('-4-1 18:00:00'));

常用的Array对象

拼接数组 + 截取数组

// 创建数组的两种方式// 1.利用数组字面量var arr0 = [1, 2, 3];console.log(arr0[0]);// 2.利用new Array()var arr1 = new Array(); // 创建了一个空的数组var arr2 = new Array(2); // 表示数组的长度为 2 ,里面有两个空的数组元素var arr3 = new Array(2, 3); // 等价于[2,3], 里面有2个数组元素 2 和 3console.log(arr0, arr1, arr2, arr3);// 检测是否为数组// (1) instanceof 运算符 它可以用来检测是否为数组var arr = [];var obj = {};console.log(arr instanceof Array);console.log(obj instanceof Array);// (2) Array.isArray(参数) H5新增的方法, ie9以上版本支持console.log(Array.isArray(arr));console.log(Array.isArray(obj));// 添加或删除数组元素// 1. push() 在数组末尾 添加一个或多个数组元素 pushvar arr = [1, 2, 3];console.log(arr.push(4, 'pig'));console.log(arr);// (1) push是可以给数组追加新的元素// (2) push() 参数直接些数组元素就可以了// (3) push 完毕后,返回结果是 新数组的长度// (4) 原数组也会发生变化// 2. unshift 在数字开头 添加一个或多个数组元素console.log(arr.unshift('red'));console.log(arr);// (1) unshift是可以给数组追加新的元素// (2) unshift() 参数直接些数组元素就可以了// (3) unshift 完毕后,返回结果是 新数组的长度// (4) 原数组也会发生变化// 3. pop 删除数组结尾 一个 数组元素,只能删除一个console.log(arr.unshift('red'));console.log(arr);// (1) pop是可以删除数组结尾 一个 数组元素// (2) pop() 参数直接些数组元素就可以了// (3) pop 完毕后,返回结果是 删除的数组元素// (4) 原数组也会发生变化// 4. shift 删除数组第一个元素console.log(arr.unshift('red'));console.log(arr);// (1) shift是可以 删除数组第一个元素 只能删除一个// (2) shift() 参数直接些数组元素就可以了// (3) shift 完毕后,返回结果是 删除的数组元素// (4) 原数组也会发生变化// 筛选数组var arr = [1500, 1200, 2000, 2100, 1800];function getSum() {var newArray = [];for (var i = 0; i <= arr.length; i++) {if (arr[i] > 2000) {newArray.push(arr[i]);}}return newArray;}console.log(getSum());// 数组排序// 1.翻转数组function getArr() {var arr = ['pink', 'red', 'blue'];arr.reverse();return arr;}console.log(getArr());// 2.数组排序 (冒泡排序)// sort方法 单独使用 只能够排序个位数的数组function getNewArr() {var arr = [3, 14, 6, 1];arr.sort(function(a, b) {// return a - b; 升序的顺序排序return b - a; // 降序的顺序排序});return arr}console.log(getNewArr());// 返回数组元素数组索引的方法 indexOf(数组元素) 作用返回该数组元素的索引号 从 前 面开始查找var arr = ['red', 'green', 'blue', 'pink', 'blue'];// 只返回第一个满足条件的数组元素的索引号console.log(arr.indexOf('blue')); // 2// 如果在该数组找不到该元素 则返回 -1console.log(arr.indexOf('black')); // -1// lastIndexOf(数组元素) 作用返回该数组元素的索引号 从 后 面开始查找console.log(arr.lastIndexOf('blue')); // 4// 数组去重var arr = ['a', 'b', 'c', 'c', 'd', 'd', 'e', 'f'];function getArrs(arr) {var newArr = [];for (var i = 0; i < arr.length; i++) {if (newArr.indexOf(arr[i]) === -1) {newArr.push(arr[i]);}}return newArr;};console.log(getArrs(arr));// 数组转换为字符串// 1.tostring()var arr = [1, 2, 3];console.log(arr.toString());// 2.join(分隔符)console.log(arr.join('-'));console.log(arr.join('&'));// concat 拼接数组var newArr = ['a', 'b', 'c'];console.log(arr.concat(newArr));// splice 截取数组console.log(newArr.splice(0, 2));

常用的String对象

// 基本包装类型: 就是把简单数据类型 包装 成复杂数据类型, 这样简单数据类型就有了属性和方法var str = 'andy';console.log(str.length);// 按道理简单数据类型是没有 属性 和 方法的,而对象才有 属性 和 方法 , 但上面的代码却可以执行,这是因为js会把简单数据类型 包装 成复杂数据类型 其执行过程如下:// 1.生成临时变量,把简单数据类型包装为复杂数据类型var temp = new String('andy');// 2.赋值给我们声明的字符变量str = temp;// 3.销毁临时变量temp = null;// ---------------------------------------------------------------------------------// 字符串的不可变 指在内存中新开辟了一块空间,变量的指向改变到新的字符串var str = 'abc';str = 'hello';// 当重新赋值时,常量 'abc' 不会被修改 还存在内存中// 重新给字符串 赋值,在内存中新开辟了一块空间,这个特点就是字符串的不可变// 由于字符串的不可变,在大量拼接字符串时会有效率问题// var str = '';// for (var i = 1; i <= 100000; i++) { str += i; }// console.log(str); 这个结果需要花费大量时间来显示,因为需要不断的开辟空间// 字符串所有的方法,都不会修改字符串本身,操作完成会返回一个新的字符串(在内存开辟新的空间)// ------------------------------------------------------------------------------------// 根据 字符 返回 位置 str.indexOf('要查找的字符',[起始位置])var str = '哔哩哔哩-西里西里';console.log(str.indexOf('哩')); // 1console.log(str.indexOf('西', 6)); // 7 从索引号6 的位置开始往后查找// 返回字符位置---查找字符中所有 o 出现的位置以及次数var str = 'abcsdcodfofdsfo';var index = str.indexOf('o'); // 获得 o 第一次出现的 索引号var num = 0; // 声明 o 出现的次数while (index != -1) {console.log(index); // o != -1 输出 6num++; // 每输出一次 o 的位置, num + 1index = str.indexOf('o', index + 1); // 从 6+1 开始查找 o ,并赋值给 index = 9}console.log('o 出现的次数是:' + num);// ------------------------------------------------------------------------------------// 根据 位置 返回 字符// 1.charAt(index) 根据位置返回字符var str = 'andy';console.log(str.charAt(3));// 遍历所有字符for (var i = 0; i <= str.length - 1; i++) {console.log(str.charAt(i));};// 2.charCodeAt(index) 返回相应索引号的字符ASCII值 目的:判断用户按下那个键console.log(str.charCodeAt(0)); // 键盘 a 的ASCII值为 97;// 3.str[index] H5 新增的console.log(str[0]); // a// 返回字符位置---查找字符中出现次数最多的字符,并统计次数// 利用chartAt()遍历字符串;// 把每个字符串都储存给对象,如果对象没有该属性,就为1,如果存在就 +1// 遍历对象,得到最大值和该字符串var str = 'abcsdcodfofdsfoo';var o = {};for (var i = 0; i <= str.length; i++) {var chars = str.charAt(i);if (o[chars]) {o[chars]++;} else {o[chars] = 1;}}console.log(o);// 遍历对象 for invar max = 0;var ch = '';for (var k in o) {// k 得到属性名// o[k] 得到里面的属性值if (o[k] > max) {max = o[k];ch = k;}}console.log('次数最多字符' + ch);console.log('最多次数' + max);// ------------------------------------------------------------------------------------// 字符串操作方法// 1.concat('字符串1','字符串2'...) 拼接字符串var str = 'andy';console.log(str.concat('Marvin'));// 2.substr('截取起始位置(索引号)','截取字符个数');console.log(str.substr(2, 2));// 3.替换字符串 replace('被替换字符','替换后的字符') 只替换第一个字符console.log(str.replace('a', 'A'));// 替换所有字符串 中 所有 ovar str1 = 'abcsdcodfofdsfoo';while (str1.indexOf('o') !== -1) {str1 = str1.replace('o', '***');}console.log(str1);// 4.字符串转换为数组 split('分隔符') 取决于 字符串 用什么符号隔开的, 字符串连接在一起,只能转换为一个数组元素var strs = '1,3,4'console.log(strs.split(','));// 5.转行大写var str = 'andy';console.log(str.toUpperCase());var str = 'ANDY';// 6.转行小写console.log(str.toLowerCase());

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。