一、数字类型的用法
var a = NaN
var b = 12.22
var c = -123
var d = "asdasd"
1.Number.isNaN函数
Number.isNaN函数:用于判断传入的是否是非数值,注意:是判断非数值,而不是判断数值,IsNaN的全称是: is not a number。
// 判断是否是NaN只有是NaN的时候是turn 没有隐式转换
console.log(Number.isNaN(a));
console.log(Number.isNaN(b));
console.log(Number.isNaN(c));
console.log(Number.isNaN(d));
2.Number.isFinite函数
用来检查一个数值是否非无穷。注意是判断非无穷,不是判断无穷,这里跟isNaN函数一样,有点绕
console.log(Number.isFinite(a));
console.log(Number.isFinite(b));
console.log(Number.isFinite(c));
console.log(Number.isFinite(d));
3.Number.parseInt函数
解析一个字符串,返回一个整数
console.log(Number.parseInt(a));
console.log(Number.parseInt(b));
console.log(Number.parseInt(c));
console.log(Number.parseInt(d));
4.Number.isInteger函数
用来判断是否是整数。
console.log(Number.isInteger(a));
console.log(Number.isInteger(b));
console.log(Number.isInteger(c));
console.log(Number.isInteger(d));
5.Math.trunc函数
用于去除一个数的小数部分,返回整数部分。
console.log(Math.trunc(a));
console.log(Math.trunc(b));
console.log(Math.trunc(c));
console.log(Math.trunc(d));
6.Math.sign函数
参数如果是正数,结果返回1;如果是负数,结果返回-1;如果是0,结果返回0;如果是一个非数值类型的参数,结果返回:NaN
console.log(Math.sign(a));
console.log(Math.sign(b));
console.log(Math.sign(c));
console.log(Math.sign(d));
二、对象的使用
1.Object.is函数
比较两个值是否严格相等,或者说全等
// Object.is函数 比较两个值是否严格相等,或者说全等
var str = "123";
var num = 123;
var num2 = 123
console.log(Object.is(num2, num));
2.Object.assign函数
将源对象的属性赋值到目标对象上
// Object.assign函数 将源对象的属性赋值到目标对象上 对象的深拷贝
let obj1 = {
age: 10,
weight: 180
}
let obj2 = {
name: "zs",
say: "玩"
}
console.log(obj2);
Object.assign(obj2, obj1)
console.log(obj2);
3.Object.getPrototypeOf函数
获取一个对象的prototype属性。
/ Object.getPrototypeOf函数
// 函数作用:获取一个对象的prototype属性。这里的对象我们用一个自定义类实例出来的对象来演示。
function Person(age) {
this.age = age
}
Person.prototype = {
play() {
console.log("玩111");
}
}
var zs = new Person(38)
console.log(zs);
// 获取原型对象
console.log(Object.getPrototypeOf(zs));
zs.play()
4.Object.setPrototypeOf函数
设置一个对象的prototype属性。
// Object.setPrototypeOf函数 设置一个对象的prototype属性。
// 设置原型对象
Object.setPrototypeOf(zs, {
play() {
console.log("玩2222");
}
})
console.log(Object.getPrototypeOf(zs));
zs.play()
三、函数的使用
1.rest参数
rest参数,这是一个新的概念,rest的中文意思是:剩下的部分
2. ....扩展运算符
var arr = [1, 2, 4, 5, 6, 7, 8, 9, 7]
// 1、遍历数组
console.log(...arr);
// 2、当做数组的元素
var arr1 = [10, 20, 30, 40]
console.log("哈哈", 10, 20, 30, 40, true);
console.log(["哈哈", ...arr1, true]);
// 3、用于深拷贝
var arrNew = [];
// arrNew = [...arr];
[...arrNew] = arr;
console.log(arrNew);
arr.push(50);
console.log(arr);
console.log(arrNew);
// 4、用于函数的调用
var arrNew = [10, 20, 30, 40]
function demo1(x, y, z, m) {
console.log(x + y + z + m);
}
demo1(arrNew[0], arrNew[1], arrNew[2], arrNew[3]);
demo1(...arrNew);
// 5、与解构赋值结合'
var arr2="b,c,d"
var [a, ...arr2] = arrNew;
// console.log(a, b, c, d);
console.log(a, ...arr2);
// 6、转化成真正的数组
var str = "hello";
var arrStr = Array.from(str);
console.log(arrStr);
console.log(...str);
console.log([...str]);