文章目录
一. 同步和异步的区别?
同步: 一般指的是在代码运行的过程中,从上到下逐步运行代码,每一部分代码运行完成之后,下面的代码才能开始运行
异步: 指的是当我们需要一些代码在执行的时候不会影响其他代码的执行,也就是在执行代码的同时,可以进行其他的代码的执行,不用等待代码执行完成之后才执行之后的代码
js有哪些基本数据类型
String:字符串
Number:数字类型
Boolean:布尔类型
null:空
Undefined:未定义
Es6新增:symbol
介绍js有哪些常用内置对象。
1.String(字符串),
2.Number,
3.Boolean(布尔对象
4.Function(函数对象),
5. Array(数组),
6. Math,
7. Object,
8. RegExp(正则表达式对象),
9.Date(日期对象),
10.Error(异常对象)
什么是JavaScript?
JavaScript是客户端和服务器端脚本语言,可以插入到HTML页面中,并且是目前较热门的Web开发语言。同时,JavaScript也是面向对象编程语言
call()和.apply()之间有什么区别?
都是调用一个对象的一个方法,用另一个对象替换当前对象
- call它可以接受多个参数,第一个参数与apply一样,后面则是一串参数列表
- apply只能传入两个参数。——新this对象和一个数组
apply和call的功能是一样的,只是传入的参数列表形式不同。
什么是事件委托
-
事件代理又称事件委托,是javaScript中绑定事件的常用技巧。顾名思义,‘事件代理’就是把原本需要绑定的事件委托给父元素,让父元素负责事件监听。事件代理的原理是DOM元素的事件冒泡
-
事件的三个阶段
事件触发时候会经历三个阶段:①事件捕获阶段 ②执行阶段(执行当前元素的注册事件) ③事件冒泡阶段
说几条JS的基本规范
- 不要在同一行声明多个变量
- 请使用===/!==来比较true/false或者数值
- 使用对象字面量替代new Array这种形式
- 不要使用全局函数
- Switch语句必须带有default分支
- If语句必须使用大括号
- for-in循环中的变量 应该使用var关键字明确限定作用域,从而避免作用域污
怎么添加、移除、复制、创建、和查找节点
-
创建新节点
createDocumentFragment() // 创建一个 DOM 片段
createElement() // 创建一个具体的元素
createTextNode() // 创建一个文本节点 -
添加、移除、替换、插入
appendChild()
removeChild()
replaceChild()
insertBefore() // 在已有的子节点前插入一个新的子节点 -
查找
getElementsByTagName() // 通过标签名称
getElementsByName() // 通过元素的 Name 属性的值(IE 容错能力较强,会得到一个数组, 其中包括 id 等于 name 值的)
getElementById() // 通过元素 Id,唯一性
== 和 ===的不同
前者会自动转换类型 后者不会
===:
三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false。
==:
两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较