JS学习笔记

微信小程序学习笔记

1,简单介绍下 js

这个是今天早上在在听面试题的时候遇到的 感觉听了听被面试者的回答 我感觉还不够好于是自己就在网上查了一下

  • JavaScript一种直译式脚本语言

    是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

  • 组成部分

    javascript组成一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。

  • 对象

    JavaScript的一个重要功能就是面向对象的功能,一组包含数据的属性和对属性中包含数据进行操作的方法,称为对象

  • 事件

    用户与网页交互时产生的操作,称为事件。事件可以由用户引发,也可能是页面发生改变,甚至还有你看不见的事件(如Ajax的交互进度改变)。而对事件的处理,W3C的方法是用addEventListener()函数,它有三个参数:事件,引发的函数,是否使用事件捕捉。为了安全性,建议将第三个参数始终设置为false

2,js的两道面试题的总结
  • js函数也是对象

    每一个javascript函数都是function对象

  • 创建函数的常用方式

    • 函数声名

      function 函数名(){}
      
    • 函数表达式

      var 函数名 = function(){}
      函数名()
      
    • 函数构造

      var sum3=new Function('n1','n2','return n1+n2');
      console.log(sum3(2,3));//5
      
  • 函数声明和函数表达式调用之间的区别

    • 函数声明可以在任意一个位置调用,任意一个位置也就是在函数声明前后都可以调用
    • 函数表达式就必须先定义再调用
    • 函数声明有可以函数预加载 也就是说函数声明有函数提升的作用函数声明类似于var,而函数表达式类似于let
  • 函数的作用域问题

    作用域分为全局作用域,局部作用域,块级作用域

    • 全局作用域:在任意位置都可以访问(函数内外都可以)

      全局下定义的任意变量会追加到window

    • 局部作用域:在 JavaScript 函数中声明的变量,会成为函数的局部变量

      局部变量的作用域是局部的:只能在函数内部访问它们。

    • 块级作用域:这个是在ES6中新增的,‘块级作用域’通过新增命令let和const来体现。

      一个块级作用域也就是一个大括号

3,类似于函数异步问题的几种问法
  • js的运行机制

  • js的事件循环机制

  • 什么是宏任务,什么微任务

  • 异步问题的解决方案

    首先了解有哪些操作会触发异步函数

    • 定时器
    • DOM的事件绑定
    • ajax请求

    接着就是怎么解决异步操作的问题、

    • 利用回调函数
    • promise管理
    • async/await

    然后就是看着今天的练习试题再次温习在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4T4IFafB-1597422160445)(C:\Users\22725\Desktop\微信图片_20200815000740.png)]

通过上图呢 首先是分出哪些是同步的 哪些是异步的

按照js执行顺序的的话 同步的函数应该是

console.log(“script start”)

async1()

new promise

console.log(“script end”)

所以改代码块的输出结果是

script start

async1 start

async2

promise1

script end

promise2

async1 end

settimeout

这个输出结果也牵扯了异步函数中微任务和宏任务的知识点

再来理以下函数的执行顺序:

同步–》异步

因为异步分为宏任务和微任务

所又因为微任务要比宏任务先执行所以:

异步–》微任务–》宏任务

微任务就是类似于.then后的就是微任务

宏任务就是类似于计时器和await

今天的学习情况就是这样子的 明天继续加油
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值