用Javascript介绍包装的类型
1:字符串
说到字符串类型,它非常有趣。我们通常用这种方式定义字符串类型,如下所示:
但在JS有一个非常特殊,那是字符串类型属于基本型,不属于引用类型,那么字符串的值存储在堆栈中,而不是太多的语言,如C #,我不认为JS为引用类型是可以原谅的,毕竟它不能发挥多线程,C #,线程栈空间的分配在C # 1m,如果字符串是一个值类型,然后爆堆,但JS不堆栈空间的限制,所以它不存在爆堆。
那么接下来的问题是,我们经常对字符串做一系列的操作,如字符串,如下:
我只是说,字符串的值直接存储在栈中,那么它如何有子这是通过官方网站解释说:这段时间字符串类型是用来包装为引用类型。然后我们使用字符串类型的内部实现,就像字符串定义了子的方法内部,因此上述代码应该实现js。
var =新字符串(hello)
VAR r = s.substring(3)
shello
正如你所看到的,事实上,包装类型只在一瞬间执行代码,将被打包到一个字符串类型的引用,然后调用字符串的子串的方法参考以下类型,和你好值赋给的,这样做的效果是,S =你好r罗
如果你理解我上面说的,那么你就console.log(颜色)等于定义是不奇怪的,我们可以看到,当我使用的颜色为红色
刚才我还说这个打包操作是js在后台的动态添加和删除操作。基本类型和引用类型有什么区别
它不必说,一堆,一堆,如果你知道更多关于C #,你能想到一个装箱和拆箱操作。
我们知道所有引用类型都是从对象继承的,引用类型不会被面向对象混淆。例如,在C #,所有类型的对象的子类,和JS。
不是那样的。我们可以看看它的实例。
二:布尔
如果您知道字符串包装器类,那么它实际上是一个布尔包装器类,有一个原理,但是在使用布尔类型时,有一个注释,我们知道一个引用类型,除非它是null或未定义的,否则它总是正确的,这就是布尔类型是这个框操作,如下所示:
我们看到,在这个时候B不是一个简单的基本类型,而是一种引用,在这个时候它不再是我想要的结果。还有一个数字打包类,这不是一个注意事项,更不用说了。