We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
var s1 = "some text"; var s2 = s1.substring(2);
第2行代码访问s1时,访问过程处于一种读取模式,也就是要从内存中读取这个字符串的值,而在读取模式中访问字符串时,后台都会自动完成下列处理:(1)创建String类型的一个实例;(2)在实例上调用指定的方法;(3)销毁这个实例; 可以想象成执行了以下代码
var s1 = new String("some text"); var s2 = s1.substring(2) s1 = null
注:引用类型和基本包装类型的主要区别在于对象的生存期,使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中;而自动创建的基本包装类型的对象,只存在于一行代码执行瞬间,然后立即被销毁;
虽然 typeof null 会输出 object,但是这只是 JS 存在的一个悠久 Bug。在 JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,000 开头代表是对象然而 null 表示为全零,所以将它错误的判断为 object
0.1和0.2在转换成二进制后会无限循环,由于标准位数的限制后面多余的位数会被截掉,此时就已经出现了精度的损失
参考
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1. 基本数据类型
2. 引用类型
3.应用场景
注:引用类型和基本包装类型的主要区别在于对象的生存期,使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中;而自动创建的基本包装类型的对象,只存在于一行代码执行瞬间,然后立即被销毁;
函数传参的时候传递的是对象在堆中的内存地址值
参考
The text was updated successfully, but these errors were encountered: