静态对象就是全局对象,可以
Js中的对象分为三类:
1,内置对象(静态对象)
2,本地对象(非静态对象)
3,宿主对象
首先来说宿主对象,宿主,顾名思义,就是js运行和存活的地方,它的生活环境:就是
DOM(文档对象模型)和BOM(浏览器对象模型).
其次说一下内置对象。首先问一个问题,大家有没有见过
var oMath = new Math()object is not a function
没见过对吧?那你有没有见过Array.push()呢?肯定也没见过,现在你很想试一试是怎么个情况,结果就是:undefined is not a function 。说到这大家应该都明白了,有一些对象,他们直接时候自己的属性和方法,比如Math.ceil()无需实例化,这就是内置对象。而必须实例化才能使用其方法和属性的就是本地对象。
常见的本地对象:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、
URIError。
内置对象(只有两个):Math,Global(不常用,但是想想一下我,我们使用的类似于isNaN()、parseInt()和parseFloat()方法等都是它的方法。)那么留下一个思考题:json是什么呢?
静态方法属于整个类所有,因此调用它不用实例化,可以直接调用------ 类.静态方法() ====>Array.from()/Array of(),Object.is(),Math.ceil().....,不难发现这些 静态方法都是类作为调用对象使用的
实例方法必须先实例化,创建一个对象,才能进行调用------ 对象.实例方法()
①Object.is()
用来比较两个值是 否严格相等 ,与严格比较运算符(===)的行为基本一致。
②Object.assign()
用于对象的 合并 ,将多个对象的所有可枚举属性复制到目标对象。
newObject:目标对象
object1,object2,object3…:源对象
添加属性
添加方法
③Object.keys()
返回值为对象的所有属性名组成的数组
④Object.values()
返回值为对象的所有值组成的数组
⑤Object.entries()
成员是参数对象自身的(不含继承的)所有可遍历属性的 键值对数组 。
①Array.from()
用于将两类对象转化为真正的数组: 类数组对象,和可遍历的对象
②Array.isArray()
用于判断一个对象是否为数组,如果是返回true,否则返回false
③Array.of()
用于将一组 数据 装进一个 数组 中。
Array() // [ ]
Array(7) // [ , , , , , , ] 相当于数组长度为7
Array(1, 2, 3) // [1, 2, 3]
Array.of() // [ ]
Array.of(7) // [7] 这里写7那就是数组中有一个7
Array.of(1, 2, 3) // [1, 2, 3]
Array.of() 方法不存在 Array() 由于参数个数不同而导致的重载,它的行为很稳定,所以一般用前者代替后者。
①Number.isFinite(), Number.isNaN()
Number.isFinite()用来检查一个 数值 是否为有限的(finite)
Number.isNaN()用来检查一个值是否为NaN 。
Number.isFinite()对于非数值一律返回false, Number.isNaN()只有对于NaN才返回true,非NaN一律返回false。
①Math.trunc()
Math.trunc方法用于 去除一个数的小数部分 , 返回整数部分。
②Math.sign()
Math.sign方法用来判断一个数到底是正数、负数、还是零。 对于非数值,会先将其转换为数值 。
它会返回五种值。
参数为正数,返回+1;
参数为负数,返回-1;
参数为 0,返回0;
参数为-0,返回-0
其他值,返回NaN。
1)PI 取圆周率
2)abs() 取绝对值
3)ceil() 向上取整
4)floor() 向下取整
5)round() 四舍五入
6)max() 取最大值
7)min() 取最小值
8)pow() 取X的y次幂
9)random() 取随机数 >=0 <1