-9.02

说说JavaScript中的堆栈?

堆(heap)、栈(stack)
堆是堆内存的简称,栈是栈内存的简称。说到堆栈,我们讲的就是内存的使用和分配了,没有寄存器的事,也没有硬盘的事。
各种语言在处理堆栈的原理上都大同小异。堆是动态分配内存,内存大小不一,也不会自动释放。栈是自动分配相对固定大小的内存空间,并由系统自动释放。

js的基本类型就5种,Undefined、Null、不是new出来的布尔、数字和字符串,它们都是直接按值存储在栈中的,每种类型的数据占用的内存空间的大小是确定的,并由系统自动分配和自动释放。这样带来的好处就是,内存可以及时得到回收,相对于堆来说,更加容易管理内存空间。

js中其他类型的数据被称为引用类型的数据(如对象、数组、函数等),它们是通过拷贝和new出来的,这样的数据存储于堆中。其实,说存储于堆中,也不太准确,因为,引用类型的数据的地址指针是存储于栈中的,当我们想要访问引用类型的值的时候,需要先从栈中获得对象的地址指针,然后,在通过地址指针找到堆中的所需要的数据。

说来也是形象,栈,线性结构,后进先出,便于管理。堆,一个混沌,杂乱无章,方便存储和开辟内存空间。

ES6有哪些新特性?

  1. var  let const的区别

  2. 数组新增拓展

  3. 对象新增拓展
  4. 函数新增拓展
  5. Set 和 Map
  6. Promise
  7. Generator
  8. Proxy
  9. Module
  10. Decorator

JS中的String常见方法有哪些?

charAt()    返回指定位置的字符串,空格占位
replace()    用字符替代另一些字符
split()    把一个字符串分割成字符串数组
indexOf()    返回某个指定的字符串  在字符串中首次出现的位置,没有出现返回-1
lastIndexOf()    返回某个指定字符串最后出现的位置
match()    匹配,在字符串中检索指定的值 ,没有为null
toLowerCase()    转换为小写
toUpperCase()    转化为大写
slice()    数组和字符串都能用,提取某个字符串的某一部分,并以新的字符串返回并提取的部分
substr()    从索引号提取指定数目的字符(开始位置,提取数量)
substring()    同slice()
trim()    删除前置和后置的空格
toFixed()    保留小数
search()    检索字符串中,指定的字符串,或者是说,检索与正则表达式匹配的字符串

null和undefined有什么区别?

(1)相同点

第一:Undefined和Null两种数据类型都只有一个字面值,分别是undefined和null.

第二:Undefined和Null类型在转换为Boolean类型的值时,都会转换为false.

第三:在需要将两者转换成对象的时候,都会抛出一个TypeError的异常。

第四:Undefined类型派生自Null类型,所以在非严格相等的比较下,两者是相等的。

(2)不同点

第一:null是JavaScript的关键字,而undefined是JavaScript的一个全局变量,也就是挂载在window对象上的一个变量,并不是关键字。

第二:在使用typeof运算符进行检测时,Undefined类型的值会返回undefined.而Null类型的值返回为object

第三:在需要进行字符串类型的转换时,null会转换成字符串null,而undefined会转换字符串undefined.

第四:在进行数值类型的转换时,undefined会转换为NaN,无法参与计算,而null会转换为0,可以参与计算。

第五:建议:无论在什么情况下都没有必要将一个变量显示的赋值为undefined。如果需要定义某个变量来保存将来要使用的对象,应该将其初始化为null.

==和===有什么区别?

==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值