当前位置:首页 > Web开发 > 正文

js最底层的那些事

11-13 Web开发

  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