*JS的变量类型有哪些?
1、基本类型:String、Boolean、Undefined、Number、Null (简记:sbunn)
2、引用类型:Object、Array、Date、RegExp、Function
3、基本包装类型:String、Boolean、Number
*“包装”操作如何进行的?
let s1 = 'test';
let s2 = s1.substring(2);
上述中,s1是字符串,是String基本类型,基本类型是没有属性和方法的,所以当运行第二行代码来读取s1时,可以看到s1是具有substring方法的,实际发生了什么?
(1)let s1=new String('test'); //创建String实例
(2)let s2 = s1.substring(2); //在实例上调用方法
(3)s1 = null; 销毁实例
整个过程是后台自动完成的,在创建销毁过程中基本的字符串就变得和对象一样了,可以在当前代码运行时,执行一些方法。
*引用类型和基本包装类型的区别?
区别:对象的生存期
通过new创建的引用类型的实例,在执行流离开当前作用域之前是一直保存在内存中的;
自动创建的基本包装类型的对象实例,只存在于一行代码的执行瞬间,然后立即被销毁;
let s1 = 'test';
s1.color = 'red';
alert(s1.color) //undefined
第二行在读取时,通过“包装”可以对s1添加属性,但该行运行结束,创建的String对象就被销毁了,第三行又创建了自己的String对象,然而并没有color属性。
*基本包装类型Number和String的一些方法
(1)Number基本包装类型方法
let num = 10;
num.toString();//"10",默认按十进制转换
num.toString(2);//"1010",按二进制转换
num.toString(16);//"a",按十六进制转换
(2)String基本包装类型方法
这里暂不细述,见系列博文中相关整理。
*变量类型可以引伸哪些考点内容?
(1)既然变量有基本类型和引用类型,那通过什么来检测变量类型?<变量类型检测>
(2)变量类型不同,在进行变量赋值拷贝时应该注意哪些事项?<深浅拷贝>
(3)变量类型之间判断是不是相等怎么做?<判等,===和==>
==和===的区别?
基本类型之间:
引用类型之间:
基本类型和引用类型之间:
小结:
引伸考点内容总结,详细内容见相关博客文章。
文章未经允许,一律不得转载,如需转载,务必标明原文出处。