js理解--万物皆对象

JavaScript中常说  万物皆对象。下面简单分析一下这句话,加深对js的一些深入的理解。

js中数据类型:1.原始数据类型  2.引用数据类型

原始数据类型:number,undefined,null,string,boolean

引用数据类型:object

使用typeof检查数据类型 可以知道 typeof(null)返回的是object。

这是由于计算机存储造成的

在底层存储对象时都是二进制,JavaScript中如果二进制前三位都是0就会被判断为object类型,

null的二进制表示全是0,所以返回的是“object”。

所谓对象,都有自己的属性和方法。

可以操作对象的属性,进行增删改查

写一个函数类对象

扫描二维码关注公众号,回复: 4545427 查看本文章

function fun(){}

1.增   fun.age = 20;   直接 函数名.属性名 = 属性值 

2.删  delete fun.age;   使用delete 函数名.属性名

3.改   fun.age = 18;   存在的函数名.属性名 = 更新的属性值

4.查    fun.age ;

可以看出函数是可以直接当成对象使用的。

而原始数据类型:number,undefined,null,string,boolean

原始数据类型存储在栈中  他们的存储结构是不能改变的,改变的可以是地址。

var str = "hello world";

str = 123;

console.log(str)

打印出来肯定是123。 因为str的存住地址发生了改变。

引用数据类型 是存储在堆和栈中  但对象里面去增加属性和方法是不会改变存储的地址的。

如果给原始类型添加属性 str.age = 18; 不会报错,但在系统检查为原始数据类型的瞬间会被删除。

猜你喜欢

转载自www.cnblogs.com/ddjps/p/10133516.html