浅析JavaScript中的对象类型Object

(编辑:jimmy 日期: 2025/9/30 浏览:2)

ECMAScript中的对象其实就是一组数据和功能的集合。
ECMAScript中Object是所有对象的基础。
理解:Object类型是所有它的实例的基础,换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。
Object的实例都具有以下属性和方法
1.Constructor:保存着用于创建当前对象的函数
2.hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是原型中)是否存在。其中作为参数的属性名必须以字符串指定
3.isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型
4.toLocalString():返回对象的字符串表示,该字符串与执行环境相对应
5.toString():返回对象的字符串表示
6.valueOf():返回对象的字符串、数字或布尔值表示。通常与toString()方法的返回值相同

全局对象
全局对象在JavaScript中有着重要的用途: 全局对象的属性是全局定义的符号, JavaScript程序可以直接使用,当解释器启动时,它将创建一个新的全局对象,并给它一组定义的初始属性:
全局属性,比如undefined, Infinity
全局函数,比如parseInt()
构造函数,比如Data(),
全局对象,比如Math和JSON

包装对象
看这样一个例子:

var s = "hello world!";
var word = s.substring(s.indexOf(" ")+1, s.length);

字符串既然不是对象,为什么它会有属性呢?只要引用了字符串s的属性,JavaScript就会将字符串值通过调用new String(s)的方式转换成对象,
同字符串一样,数字和布尔值也有相应的方法。其他类似的包装类:

Number object
String object
Boolean Object
Function Object
RegExp Object
Error
SyntaxError
ReferenceError
TypeError
…

不可变的原始值和可变的原始对象引用
原始值是不可改变的,原始值的比较是值比较, 对象的比较并非值比较:即使两个对象包含同样的属性以及相同的值,他们也不是相等的。我们通常将对象称为引用类型,对象的值都是引用,对象的比较也是引用的比较,当且仅当他们引用同一个基独享,他们才相等;
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?