javascript组成
ECMAScript
JavaScript 的核心,ECMAScript 是一套标准,定义了一种语言的标准与具体实现无关。
BOM
浏览器对象模型,一套操作浏览器功能的API,通过BOM可以操作浏览器窗口,如弹窗,跳转等。
DOM
一套操作页面的API,DOM可以把HTML理解为文档树,通过DOM提供的API可以对树上的节点进行操控。
js种String常见方法有哪些?
1、length属性
2、小写转换toLowerCase()
3、大写转换toUpperCase()
4、字符串替换replace()
5、字符串匹配match()
6、字符串拼接concat()
7、字符串分割split()
null和underfined有什么区别?
undefined
这个变量从根本上就没有定义
隐藏式 空值
null
这个值虽然定义了,但它并未指向任何内存中的对象
声明式 空值
==与 ===的区别?
Js中 ==:用来进行一般比较检测两个操作数是否相等,可以允许进行类型转换
===:用于严格比较,只要类型不匹配就返回flase。
JavaScript中的堆和栈?
两者都是存放临时数据的地方。
栈是先进后出的,就像一个桶,后进去的先出来,它下面本来有的东西要等其他出来之后才能出来。
堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。对于堆,我们可以随心所欲的进行增加变量和删除变量,不用遵循次序。
栈区(stack) 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。
堆区(heap) 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。
堆(数据结构):堆可以被看成是一棵树,如:堆排序;
栈(数据结构):一种先进后出的数据结构。