高血压专题网,内容丰富有趣,生活中的好帮手!
高血压专题网 > JS-内置对象-Boolean-Number-String-Math-Date-Array

JS-内置对象-Boolean-Number-String-Math-Date-Array

时间:2021-12-21 17:36:28

相关推荐

JS-内置对象-Boolean-Number-String-Math-Date-Array

JS-内置对象-构造函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1Z5e4H4-1620368930653)(C:\Users\王秀\AppData\Roaming\Typora\typora-user-images\image-0408114150517.png)]

​ 此图为构造函数自己的原型链

在线文档:/zh-CN/docs/Web/JavaScript/Reference/Global_Objects

内置构造函数,主要掌握内置构造函数实例的属性和方法

内置对象就是内置构造函数的实例。

1 Boolean

创建一个 Boolean 类型的数据,与数组一样也具有三种方式

// 直接量方式var b1 = true;//true// 构造函数方式(具有数据类型转换的功能)var b2 = new Boolean(true); //Boolean// 函数var b3 = Boolean(false);//false

2 Number

Number 实例的属性和方法

toFixed()返回指定位数的小数,参数设置为保留的小数位,没有参数默认取整;四舍五入规则。toString()把数字转为其他进行形式,参数指定进制。

// 创建一个Number类型的数据var num = 123.67;console.log(num);// Number实例 toFixed() (返回的是字符串,四舍五入取小数)console.log(num.toFixed(1)); //123.7console.log(num.toFixed(5)); //123.67000console.log(num.toFixed()); //124 整数也是四舍五入console.log('');// toString() 转为字符串 可转为进制console.log(num.toString()); //123.67console.log(num.toString(2)); //1111011.10101011100001010001111010console.log(num.toString(8)); //173.5270243656050754

Number 构造函数本身的属性和方法

Number.MAX_VALUE得到 JS 中所能表示的最大的值Number.MIN_VALUE得到 JS 中所能表示的最小的值

// js中所能表示的最大最小的数console.log(Number.MAX_VALUE); //1.7976931348623157e+308console.log(Number.MIN_VALUE); //5e-324

3 String

String 实例的属性和方法

length属性,只读,获取字符串长度(字符串中字符的个数)charAt(index)取出指定索引的字符,通产用 [] 语法代替。charCodeAt(index)取出指定索引字符的 uncode 编码。indexOf(value)返回 vlue 在字符串中第一次出现的位置。lastIndexOf(value) 返回 value 在字符串中最后一次出现的位置。slice(start [,end])截取字符串,第一个参数指定开始截取的位置,第二个参数指定结束位置(结果中不包括结束位置的字符),不指定第二个参数,截取到字符串结尾。substring(start [,end]) 同 slice 一模一样。substr(start, [,len]) 截取字符串,与 slice 相比,第二个参数指定的是截取的长度,不指定第二个参数截取到字符串结束split([分隔符]) 把字符串分隔为数组。toUpperCase()把字符串全部转为大写。toLowerCase()把字符串全部转为小写。

注意:

通常可以使用 indexOf() 和 lastIndexOf() 来判断字符串中是否包含某个值,返回 -1 就是不包含。字符串实例的 charCodeAt() 方法和 String 构造函数本身的 fromCharCode() 方法互为逆向操作。

String 构造函数本身的属性和方法

String.fromCharCode(数字编码)返回指定 unicode 编码对应的字符

// 创建String类型方式var msg = 'Hello,芳芳';// 根据索引获取某个字符console.log(msg.charAt(3)); //l// 得到某个字符在字符串中出现的位置console.log(msg.indexOf('l'));// 第一次出现的位置 2console.log(msg.lastIndexOf('l')); // 最后一次出现的位置 3console.log(msg.indexOf('wang')); // 要查找的值不存在 -1// 截取字符串console.log(msg.slice(2)); //llo,芳芳console.log(msg.slice(2,5));// llo 顾头不顾尾console.log(msg.substring(2)); //llo,芳芳console.log(msg.substring(2,5)); //lloconsole.log(msg.substr(2)); // llo,芳芳 从索引2的位置截取到结束console.log(msg.substr(2, 5)); // llo,芳 5是长度,不是截取位置// split可以把字符串分割成数组 指定分隔符,空字符串console.log(msg.split());//["Hello,芳芳"]console.log(msg.split(' ')); //["Hello,芳芳"]console.log(msg.split('')); //["H", "e", "l", "l", "o", ",", "芳", "芳"]console.log(msg.split('l')); // ["He", "", "o,芳芳"]// 大小写转换// 字符串全部转为大写console.log(msg.toUpperCase()); //HELLO,芳芳// 字符串全部转为小写console.log(msg.toLowerCase()); //hello,芳芳// Unicode字符console.log('e 的unicode编码:', msg.charCodeAt(1)); //101console.log('芳的uncode编码:', '芳'.charCodeAt(0)); //33459// 构造函数本身的属性和方法// 根据一个unicode编码,得到对应的字符console.log(String.fromCharCode(65)); //Aconsole.log(String.fromCharCode(33465)); //芹

4 Math

Math.PI属性,得到圆周率Math.abs()取绝对值Math.sqrt()开平方Math.pow()求次幂Math.round()四舍五入取整Math.floor() 舍一取整Math.ceil()进一取整Math.max()取所有参数中最大的Math.min()取所有参数中最小的Math.random()取随机数,结果是0~1的小数 (0 是有一定的概率被随机到,但是 1 绝无可能)

取随机数的规则:

随机取 0 ~ n 之间的整数:Math.floor(Math.random() * (n + 1))随机取 s ~ n 之间的整数:Math.floor(Math.random() * (n - s + 1)) + s

// Math就是个对象console.log(Math);console.log('');// 属性PI 圆周率console.log('圆周率:',Math.PI); //3.141592653589793// 数学相关的方法console.log('-123的绝对值:',Math.abs(-123)) //123console.log('开平方:', Math.sqrt(100)); //10console.log('求次幂:', Math.pow(2, 3)); //8// 取整数的方法(三种)console.log('四舍五入取整:', Math.round(123.99)); //124console.log('舍一取整:', Math.floor(123.99)); //123 // floor和ParsInt一样(舍一取整)console.log('进一取整:', Math.ceil(123.0009)); //124// 取参数中的最大值和最小值console.log(Math.max(123, 23, 345, 678, 908, 100)); //908console.log(Math.min(123, 23, 345, 678, 908, 100)); //23// 取随机数,结果是小数0-1之间(顾头不顾尾,0有一定概率)console.log(Math.random());// 随机0-9之间的整数*10 舍一取整console.log('随机0~9之间的整数:',Math.floor(Math.random()*10));// 随机0-15之间的整数console.log('随机0~15之间的整数:', Math.floor((Math.random() * 16)));// 随机8-27之间的整数 先取0-19,再+8console.log('随机取 8 ~ 27 之间的整数:', Math.floor(Math.random() * 20) + 8);

5 Date

创建 date 日期时间对象

var today = new Date();var birthday = new Date('December 17, 1995 03:24:00');var birthday = new Date('1995-12-17T03:24:00');var birthday = new Date(1995, 11, 17);var birthday = new Date(1995, 11, 17, 3, 24, 0);

Date 实例的属性和方法

getFullYear()日期时间对象中所包含的年getMonth()日期时间对象中所包含的月,取值范围 0 ~ 11getDate() 日期时间对象中所包含的日(每月几号)getDay()日期时间对象中所包含的星期几getHours()日期时间对象中所包含的小时getMinutes()日期时间对象中所包含的分钟getSeconds()日期时间对象中所包含的秒getMilliseconds()日期时间对象中所包含的毫秒getUTC...获取零时区的年月日时分秒getTime()获取日期时间对象距离1970年1月1日0时0分0秒的毫秒数(时间戳)set ...设置日期时间对象的年月日时分秒setUTC...设置日期时间对象零时区的年月日时分秒setTime()用时间戳的形式设置日期时间对象

Date 构造函数本身的属性和方法

Date.now()此时此刻的时间戳Date.UTC()指定日期时间的时间戳,需要设置 6 个参数。

// 创建日期时间对象(此时此刻的日期时间)var date1 = new Date();var date2 = new Date('-10-01T10:56:00');var date3 = new Date(,2,1,12);console.log(date1); //Wed Mar 31 20:19:06 GMT+0800 (中国标准时间)console.log(date2); //Thu Oct 01 10:56:00 GMT+0800 (中国标准时间)console.log(date3); //Sun Mar 01 12:00:00 GMT+0800 (中国标准时间)// get 分开获取当前时间console.log('公元纪年:',date1.getFullYear()); //console.log('月:', date1.getMonth() + 1);//3console.log('日:', date1.getDate());//31console.log('星期:', date1.getDay()); //3console.log('时:', date1.getHours()); //20console.log('分:', date1.getMinutes()); //22console.log('秒:', date1.getSeconds()); //24console.log('毫秒:', date1.getMilliseconds()); //916// UTC 获取零时区的时间// 获取时间戳:1970年1月1日0分0秒距离date1的毫秒数 诞生了第一台操作系统,便于计算时间差console.log(date1.getUTCFullYear()); //console.log(date1.getUTCHours());//12// set 设置date1中的时间date1.setFullYear(1980);date1.setUTCHours(18);// 设置时间戳date1.setTime(1000000000000);console.log(date1); //Sun Sep 09 2001 09:46:40 GMT+0800 (中国标准时间)// 创建date对象var date4 = new Date(98723423423);console.log(date4); //Fri Feb 16 1973 23:10:23 GMT+0800 (中国标准时间)// 得到此时此刻的时间戳 console.log('此时此刻的时间戳:', Date.now());// 指定日期时间的时间戳 Date.UTC或者直接定义时间变量(输出date.getTime)console.log('指定日期时间的时间戳:', Date.UTC(, 8, 1, 10, 10, 0));

求 1999年12月2日10点10分0秒 这个时刻的时间戳

// 第一种方式 先创建一个包含指定时间的日期时间对象,在获取时间戳var date = new Date(1999, 11, 2, 10, 10); // new Date('1999-12-02T10:10:00')date.getTime();// 第二种方式 使用Date构造函数本身的方法 UTC()Date.UTC(1999, 11, 2, 10, 10);

6 Array

数组实例的访问器方法

访问器方法指的是调用该方法,对象本身不会被修改,计算结果会以方法的返回值给出。一般对象中只有访问器方法。

concat()合并数组,返回合并好的数组;参数可以指定一到多个。slice()截取数组,返回截取后的数组;第一个参数指定开始截取的位置,第二个参数结束位置(不指定,截取到结尾)join()把数组合并成字符串,返回字符串;可以指定一个分隔符(默认是逗号)

数组实例的修改器方法

修改器方法指的是,调用该方法,对象本身会被修改。只有数组对象才有修改器方法。

push()在数组的后面添加一个或多个元素,返回添加了新数组之后数组的长度unshfit()在数组的前面面添加一个或多个元素,返回添加了新数组之后数组的长度pop()删除数组最后一个元素,返回被删的元素。shift()删除数组的第一个元素,返回被删的元素。splice()给数组添加、删除或替换元素。 返回数组,数组中是被删掉的元素(如果没删元素就是空数组)sort()对数组进行排序。返回排好序的数组。reverse()翻转数组。返回翻转之后的数组。

// 创建字符串var msg = 'hello';// 创建数组var arr = [100,200,300,400,600,150];msg.slice(2,4);console.log(msg); //helloarr.push('芳芳');console.log(arr); //[100,200,300,400,600,150,'芳芳'];// 访问器方式// 合并数组console.log(arr.concat(['a','b','c']));console.log(arr.concat(['a','b','c'], ['A','B'], [1,2,3,4]));// 截取数组console.log(arr.slice(2, 5)); //[300,400,600]console.log(arr.slice(2));//[300,400,600,150,'芳芳']// 把数组合并成字符串 ,可以指定分隔符console.log(arr.join());//100,200,300,400,600,150,芳芳console.log(arr.join('->')); //100->200->300->400->600->150->芳芳console.log(arr.join('')); //10000400600150芳芳console.log(arr);// 修改器方式 返回被删的数组console.log(arr.push('大悲')); //8 返回值长度console.log(arr.unshift('曹操', '吕布')); //10console.log(arr.pop());//大悲 返回被删的元素 console.log(arr.shift()); //曹操 返回被删的元素console.log(arr);console.log(arr.splice(2, 0, '诸葛亮')); //被删掉的元素console.log(arr); console.log(arr.sort()); //排序console.log(arr);console.log(arr.reverse());//将排的序翻转console.log(arr);// reverse 翻数组 和排序sort相反

ES5 增加的数组实例的方法

这些方法也都是访问器方法!都需要回调函数作为参数。

forEach()用于数组遍历,需要一个回调函数作为参数filter()从原数组中提取满足条件的元素组成新数组并返回, 需要一个回调函数作为参数;回调函数的返回值(true或者false)决定对应的元素是否在新数组中map()返回一个元素个数与原数组一样的新数组,需要一个回调函数作为回调函数返回什么,新数组的元素就是什么。every()返回布尔值,要求每个元素都满足条件才得到true,需要一个回调函数作为参数。some()返回布尔值,只要一个元素满足条件就可以true,需要一个回调函数作为参数。reduce()用于综合计算,需要一个回调函数作为参数,第二个参数指定初始值回调函数接收三个参数:①上一次回调的结果 ②当前的元素 ③ 索引reduceRight()同 reduce 一样,知识从后向前遍历。indexOf()返回指定元素在数组中第一次出现的位置。lastIndexOf()返回指定元素在数组中最后一次出现的位置。

var users = [{name: '芳芳',age: 18,address: '上海'},{name: '大悲',age: 78,address: '山洞'},{name: '曹操',age: 48,address: '许昌'},{name: '吕布',age: 38,address: '包头'},{name: '曹丕',age: 12,address: '许昌'},{name: '小悲',age: 31,address: '山洞'}];console.log(users);// forEach遍历数组users.forEach(function(item, index) {console.log(item, index);});// filter 获取用户中的成年人var fUsers = users.filter(function(item, index) {return item.age >= 18;});console.log(fUsers);// map 从原数组提取信息,得到新数组,年龄+1岁var mUsers = users.map(function(item, index) {// return item.name;item.age ++;return item;});console.log(mUsers);// every 有一个不满足添加就是false 是否所有的用户都是成年人 var res = users.every(function(item, index) {return item.age >= 18;});console.log(res); //false// some 有一个满足条件,就是true 是否有用户住在山洞var res = users.some(function(item, index) {return item.address === '山洞';});console.log(true); //true// reduce (reduceright)计算所有元素的和(上一个元素的返回值,当前的,索引)var nums = [100,200,300,400];var sum = nums.reduce(function(prev, item, index) {return prev + item;}, 0);console.log(sum); //1000// users , 计算所有用户的年龄和var ageSum = users.reduce(function(prev, item) {return prev + item.age;}, 0);console.log(ageSum); //231// users.reduceRight()// indexOf() lastIndexOf() -1不包含 >=1就是包含(索引)// indexOf() lastIndexOf()console.log(nums.indexOf(400)); //3console.log(nums.indexOf(4000)); -1

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