面试题整理(二)JavaScript

本文探讨了JavaScript中的同步与异步的区别,列举了基本数据类型如String, Number, Boolean等,介绍了常用的内置对象如String, Function, Array等。还讲解了call()和.apply()的区别,事件委托的概念及其在处理DOM事件中的应用。此外,文中还涉及了编程规范、DOM操作方法以及==和===的区别。
摘要由CSDN通过智能技术生成

一. 同步和异步的区别?

同步: 一般指的是在代码运行的过程中,从上到下逐步运行代码,每一部分代码运行完成之后,下面的代码才能开始运行
异步: 指的是当我们需要一些代码在执行的时候不会影响其他代码的执行,也就是在执行代码的同时,可以进行其他的代码的执行,不用等待代码执行完成之后才执行之后的代码

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。

==:两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较

this指向

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值