1、说一下innerHTML 与 innerText的作用与区别?
作用:获取或者设置标签元素的内容
区别:innerHTML可以解析内容中的html标签
innerText不能解析内容中的html标签
2、JavaScript 由哪三部分组成:
1)、ECMAScript(语法部分):JavaScript 语言基础
2)、DOM(文档对象模型):规定了访问 HTML 和 XML 的方法
3)、BOM(浏览器对象模型):提供了浏览器窗口之间进行交互的对象和方法
3、介绍 JS 有哪些内置对象?
- 数据封装类对象:Object、Array、Boolean、Number、String
- 其他对象:Function、Arguments、Math、Date、RegExp、Error
- ES6 新增对象:Symbol、Map、Set、Promises、Proxy、Reflect
4、JS 的基本(原始)数据类型和引用数据类型
基本(原始)数据类型:number, string, null, undefined, boolean, symbol
引用数据类型:Object, Function, Array
5、什么是标识符?
标签符:在JS中通过自定义的名称都叫标签符;比如:变量名,函数名,参数名,属性名
6、标识符书写的基本规范?
1)、不能以数字开头
2)、以数字,字母,下划线组成
3)、不能以关键词,保留词作为标识符
4)、建议驼峰命名法
7、DOM元素e 的 e.getAttribute(propName)和 e.propName 有什么区别和联系
e.getAttribute(id): 获取的标签上的属性值
e.setAttribute(propName, propValue); 设置标签上属性
e.removeAttribute(propName); 删除标签上属性
e.propName:直接获取元素对象上属性
e.propName = propValue; 给对象添加属性,但不会在标签上显示
8、offsetWidth/offsetHeight,
clientWidth/clientHeight,
scrollWidth/scrollHeight 的区别?
offsetWidth/offsetHeight 返回值包含 content + padding + border + 包含滚动条,效果与 e.getBoundingClientRect()相同
clientWidth/clientHeight 返回值只包含 content + padding,如果有滚动条,也不包含滚动条
scrollWidth/scrollHeight 返回值包含 content + padding + 溢出内容的尺寸
9、检测浏览器版本版本有哪些方式?
根据 navigator.userAgent // UA.toLowerCase().indexOf('chrome')
10、说一下元素节点、文本节点、属性节点的nodeType、nodeName、nodeValue分别是什么
nodeType nodeName nodeValue
元素节点 1 标签名 null
属性节点 2 属性名 属性值
文本节点 3 text 内容值