这是
JavaScript
系列教程的第九期,这是最后一期讲内置函数了!
本期主要讲剩下的几个常用内置函数,Number
,Object
,ParseInt
,ParseFloat
,String
。
Number
Number
构造函数包含常量和处理数值的方法。其他类型的值可以使用 Number() 函数转换为数字。isInteger()
isInteger()
方法用来判断给定的参数是否为整数。我们一般会将这个封装成为一个函数,用于判断数字是否为整数。
const isInt = (num) => {
return Number.isInteger(Number(num));
};
console.log(isInt("3")); // true
console.log(isInt("3.3")); // false
console.log(isInt(3)); // true
console.log(isInt(3.3)); // false
上面函数就是传入一个参数,参数可能是数字,也可能是字符串,所以我们需要将字符串转化为数字,然后再用isInteger()
来判断是否为整数。
toFixed()
toFixed()
方法使用定点表示法来格式化一个数值。
const fixed = (num, digit) => {
return Number.parseFloat(num).toFixed(digit);
};
console.log(fixed(2.22222, 2)); // 2.22
console.log(fixed("2.22222", 2)); // 2.22
将上面的封装位一个函数,传入需要转化的数字,以及转化的位数,可以看到结果保留了两位小数。
toString()
toString()
方法返回指定 Number 对象的字符串表示形式。
console.log((111).toString()); // 111
console.log((111).toString(2)); // 1101111
toString()
接受一个参数,默认是10,可以填写2-36,这里其实就是可以理解为进制,需要转为2进制,就填写2,就像上面的一样。
Object
Object 是 JavaScript 的一种数据类型。它用于存储各种键值集合和更复杂的实体。可以通过 Object() 构造函数或者使用对象字面量的方式创建对象。
assign()
Object.assign() 静态方法将一个或者多个源对象中所有可枚举的自有属性复制到目标对象,并返回修改后的目标对象。
const obj = { name: "orange", age: 18 };
const obj1 = {};
Object.assign(obj1, obj);
console.log(obj1); // { name: 'orange', age: 18 }
从以上栗子可以看出,第一个参数是需要赋值的变量,第二个是目标值,也就是需要复制的那个值。
keys()
Object.keys() 静态方法返回一个由给定对象自身的可枚举的字符串键属性名组成的数组。
const obj = { name: "orange", age: 18 };
const keys = Object.keys(obj)
console.log(keys); // [ 'name', 'age' ]
上面的栗子使用Object.keys()
获取了obj
的键。
values()
前面的Object.keys()
是获取Object
的键,那么Object.values()
就是返回键的值,Object.values()
静态方法返回一个给定对象的自有可枚举字符串键属性值组成的数组。
const obj = { name: "orange", age: 18 };
const keys = Object.values(obj)
console.log(keys); // [ 'orange', 18 ]
上面的栗子就是输出了一个数组,数组的内容就是键所对应的值!
parseFloat()
parseFloat() 函数解析一个参数(必要时先转换为字符串)并返回一个浮点数。
parseInt()
parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。
console.log(parseInt("1111")); // 1111
console.log(parseInt("1111", 2)); // 15
一般情况下,默认第二个参数位10,或者不填写!
String
String 对象用于表示和操作字符序列。
includes()
includes() 方法执行区分大小写的搜索,以确定是否可以在一个字符串中找到另一个字符串,并根据情况返回 true 或 false。
const str = "这里是orange写的";
const word = "orange";
console.log(str.includes(word)); // true
indexOf()
String 的 indexOf() 方法在字符串中搜索指定子字符串,并返回其第一次出现的位置索引。它可以接受一个可选的参数指定搜索的起始位置,如果找到了指定的子字符串,则返回的位置索引大于或等于指定的数字。
const str = "这里是orange写的";
const word = "orange";
console.log(str.indexOf(word)); // 3
从0开始,找到了第四位出现了,就是3。
slice()
slice() 方法提取字符串的一部分,并将其作为新字符串返回,而不修改原始字符串。两个参数可选,第一个是开始的位置,第二个是排除第一个字符的索引。
const str = "这里是orange写的";
const word = "orange";
console.log(str.slice(3)); // orange写的
console.log(str.slice(3, 9)); // orange
简单理解就是,第一个参数是提取字符串的第一个位置,第二个参数就是提取字符串的最后一个位置,不填写第二个参数的话,就是直接到字符串的最后了!
split()
split() 方法接受一个模式,通过搜索模式将字符串分割成一个有序的子串列表,将这些子串放入一个数组,并返回该数组。
const str = "这里是orange写的,你好";
console.log(str.split(',')); // [ '这里是orange写的', '你好' ]
可以看到,参数就是分隔符,通过字符串中的,
,将整个字符串分割为两个字符串,返回一个数组。
substring()
String 的 substring() 方法返回该字符串从起始索引到结束索引(不包括)的部分,如果未提供结束索引,则返回到字符串末尾的部分。
const str = "这里是orange写的,你好";
console.log(str.substring(3, 9)); // orange
如果传入的参数都是正数的话,substring()
和slice()
是一样的作用,但是你传入的是负数的话,就会有点差别了,你可以试试看哟
toLocaleLowerCase()
String 的 toLocaleLowerCase() 方法会根据特定区域设置的大小写映射规则,将字符串转换为小写形式并返回。简单的讲,就是大小字母全部转化为小写的。
console.log('ORANGE'.toLocaleLowerCase()); // orange
toLocaleUpperCase()
既然可以大写转化为小写,那么肯定也有小写转化为大写的!
console.log('orange'.toLocaleUpperCase()); //ORANGE
toString()
String 的 toString() 方法返回该字符串的值。一般使用就是将数字转化为字符串,当然也可以将其他的转化为字符串。
console.log((111).toString()); // 111
console.log({ name: "orange", age: 18 }.toString()); // [object Object]
console.log(function(){console.log(1)}.toString()); // function(){console.log(1)}
trim()
String 的 trim() 方法会从字符串的两端移除空白字符,并返回一个新的字符串,而不会修改原始字符串。
console.log(' orange '.trim()); // orange
console.log('orang e '.trim()); // orang e
可以看到,确实只会去除头尾两端的空白字符!
总结
内置函数挺多的,我用三期总结了在项目中常用的一些内置函数,涉及到了很多的类型的函数,内置函数就讲到这里了,下一期就是讲讲什么是dom,什么是bom了!