1.isFinite()函数
isFinite() 函数用于检查其参数是否是无穷大。(如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。)
document.write(isFinite(123)+ "<br>"); //true
document.write(isFinite(-1.23)+ "<br>"); // true
document.write(isFinite(5-2)+ "<br>"); // true
document.write(isFinite(0)+ "<br>"); // true
document.write(isFinite("Hello")+ "<br>"); // false
document.write(isFinite("2005/12/12")+ "<br>"); // false
2.Math(算术对象)
Math对象,提供科学数学计算,也同样具有属性与方法,案例如下:
<script>
let mypi = Math.PI;
let myabs = Math.abs(-15.88963);
console.log(mypi);
console.log(myabs);
document.getElementById("kajima").innerHTML=mypi;
document.getElementById("bady").innerHTML=myabs;
</script>
Math对象属性
Math 对象方法
3.数据类型判断
PS:typeof无法判断数组,null和对象,因为他会把这些都判断为Object,其余都可以正常判断。
最完美的检测数组类型的方法:
function isArrayFn (o) {
return Object.prototype.toString.call(o) === '[object Array]';
}
var arr = [1,2,3,1];
alert(isArrayFn(arr));// true
其实这个函数可以改进一下,使得同样能够判断其它数据类型:数组,null,function,String,object等等
function isArrayFn (o) {
return Object.prototype.toString.call(o);
}
实例 | 测试结果 |
---|---|
[1,2,3,1] | [object Array] |
{a:“chenhaodong”,age:18} | [object Object] |
function a(){return null} | [object Function] |
“hello world” | [object String] |
null | [object Null] |
4.arguments参数属性
arguments.length 属性返回函数调用过程接收到的参数个数
arguments[0]:获取传入的第一个参数值
arguments[1]:获取传入的第二个参数值
5.map,reduce与filter方法
map(),reduce()与filter()方法的参数均为匿名函数,即不存在函数名的函数
PS:JavaScript这里的map与reduce方法与之前提到的Python的map与reduce方法 实现效果相同。
- map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
'use strict'; //严格模式
let arr = [1, 2, 3, 4];
let newArr = arr.map(function(item) { // 使用map方法将每一个元素变为两倍
return item * 2;
});
console.log(newArr); // [2, 4, 6, 8]
- filter()函数用于筛选出符合要求的数据,并返回该数据集合.
let arr = [1, 2, 3, 4];
let newArr = arr.filter(function(item) { // 使用filter方法:判断每一个元素,如果是奇数,则直接返回该值
if (item % 2 !== 0) {
return item;}
});
console.log(newArr); // [1, 3];
- reduce()函数用于把数组或对象归结为一个值,并返回这个值,使用方法为arr.reduce(func,memo),其中func为处理函数,memo为初始值,初始值可缺省.
'use strict';
let arr = [1,2,3,4];
let newArr=arr.reduce(function(a,b){
return a+b;
},0);
console.log(newArr) ; // 10