js最底层的那些事
js中的数据类型分为两种:
原始值(Number String undefined null)它是栈数据
原始值如果把一个a的值给另一个b,如果改变a的值,但是b的值不会变
因为在将a的值赋给b的时候,其实是将a的的数据复制给b,他们;两个的数据是一样的,但是,他们的地址是不一样的
引用值(array Object function...data RegExp) 它是堆数据
原始值如果把一个a的值给另一个b,如果改变a的值,但是b的值也会变
因为在将a的值给b的同时,其实是将a数据的地址直接赋值给b,所以a和b现在指向的地址都是相同的数据,当a或者b在改变的时候,a和b都在变
但是,如果将a的值赋值给b后,a又重新给自己赋值,那么现在a就不和b相同了,因为重新赋值就给自己开辟了新的地址(内存)
任何数据类型加字符串都等于字符串
var a = c && d 或者 var a = c || d
在这个表达式中如果c为真,那个这个a得到的就是d的值, 在这个表达式中最后返回的一定是c或者d的值,而不是true或者false我们所说的返回为true或者false都是转换的
js最底层的那些事
温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/web/10309.html