1 JS基本的数据类型和引用类型基本数据类型:number、string、null、undefined、boolean、symbol – 栈 引用数据类型:object、array、function – 堆 两种数据类型存储位置不同 原始数据类型是直接存储在栈(stack)中的简单数据段,占据空间小、大小固定,属于被频繁使用数据; 引用数据类型存储在堆(heap)中的对象,占据空间大、大小不固定,如果存储在栈中,将会影响程序运行的性能; 引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。 当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。
2.介绍JS的内置对象数据封装类对象:Object、String、Number、Boolean、Array 其他对象:Function、Data、Math、Arguments、
3.说几条JavaScript的基本规范
变量和函数在使用前声明 语句结束后添加分号 代码段使用{}包裹 以大写字母开头定义构造函数,以全大写定义常量 用{} 和 []声明对象和数组 使用===和!==来比较true和false或者数字值
4.介绍JavaScript的原型、原型链?有啥特点原型:JavaScript的所有对象中都包含了一个 (proto ) 内部属性,这个属性所对应的就是该对象的原型 JavaScript的函数对象,除了原型 (proto) 之外,还预置了 prototype 属性 当函数对象作为构造函数创建实例时,该 prototype 属性值将被作为实例对象的原型( proto)。 原型链:当一个对象调用的属性/方法自身不存在时,就会去自己(proto )关联的前辈 prototype 对象上去找 如果没找到,就会去该 prototype 原型 ( proto) 关联的前辈 prototype 去找。依次类推,直到找到属性/方法或 undefined 为止。从而形成了所谓的“原型链” 原型特点:JavaScript对象是通过引用来传递的,当修改原型时,与之相关的对象也会继承这一改变
5.什么是window对象,什么是Document对象?
Window 对象表示当前浏览器的窗口,是JavaScript的顶级对象。 我们创建的所有对象、函数、变量都是 Window 对象的成员。 Window 对象的方法和属性是在全局范围内有效的。 Document 对象是 HTML 文档的根节点与所有其他节点(元素节点,文本节点,属性节点, 注释节点) Document 对象使我们可以通过脚本对 HTML 页面中的所有元素进行访问 Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问
- 在一个DOM上同时绑定两个点击事件:一个用捕获,一个用冒泡。事件会执行几次,先执行冒泡还是捕获?该DOM上的事件如果被触发,会执行两次(执行次数等于绑定次数) 如果该DOM是目标元素,则按事件绑定顺序执行,不区分冒泡/捕获 如果该DOM是处于事件流中的非目标元素,则先执行捕获,后执行冒泡
- . 事件的代理/委托事件委托是指将事件绑定目标元素的到父元素上,利用冒泡机制触发该事件 优点:可以减少事件注册,节省大量内存占用 可以将事件应用于动态添加的子元素上 缺点:使用不当会造成事件在不应该触发时触发