JavaScript中包含六种基本数据类型:Undefined、Null、Boolen、String、Number和Symbol。这些类型都是按值访问的,意味着它们直接存储在实际变量中,可以操作其值,但不能添加属性或方法。基本类型变量存放于栈区,该区域在内存中,包含变量标识符和值。
引用类型则涉及三种:Object、Array和Function。它们实际上都是对象,由不同的构造函数生成。比如通过数组构造函数创建空数组a。通过修改数组构造函数Array的原型对象,添加名为ceshi的方法,然后使用实例对象a执行该方法,可以成功打印结果。这证明了Array对象确实存在。
引用类型数据是按引用访问的,允许通过修改原型链随时调整其属性和方法。存储引用类型值需要栈区和堆区共同协作完成,栈区保存变量标识符和堆内存中的对象指针,堆内存存放对象。例如,打印变量b为[1,2,3,4],使用a给b复制时,实际上复制了指针,使得a和b指向同一堆内存中的对象。改变其中之一,另一方也会改变,因为它们共享同一数组对象。
引用类型间的比较基于指针,而基本类型间的比较则是基于值。typeof用于判断数据类型,语法为typeof a,能直接获取a的数据类型。对于引用数据类型,使用typeof判断结果总是object(对象)。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。