首页 > 其他分享 >Web前端入门之JS基础知识梳理汇总

Web前端入门之JS基础知识梳理汇总

时间:2023-03-22 12:07:09浏览次数:43  
标签:Web 函数 作用域 代码 基础知识 对象 JS 变量

Web前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错。不论是专业还是非专业,有基础亦或是无基础,都想通过学习Web前端实现高薪就业。不过,学习要一步一个脚印,不能一口吃一个胖子,所有的实战经验都是基于理论而积累形成,今天的Web前端入门学习教程就给大家梳理汇总一下JS相关的基础知识点。

  1、执行环境:有时也叫环境,是JavaScript中最为重要的一个概念,执行环境定义了变量或函数有权访问的其他数据。

  2、变量对象:每一个执行环境都有一个与之关联的变量对象,环境中定义的所有的变量和函数都保存在这个的对象中。

  3、作用域链:代码在环境中执行时,会创建变量对象的作用域链,保证对执行环境有权访问的所有变量和函数的有序访问。作用域链的前端,始终是当前执行代码所在环境的变量对象。

Web前端入门之JS基础知识梳理汇总_执行环境

  4、活动对象:如果当前执行环境是函数,则将活动对象作为变量对象。

  5、可执行代码:1)全局代码:例如加载外部的JS文件或者本地标签内的代码,全局代码不包括 function体内的代码;2)函数代码:function体内的代码;3)eval代码:eval()函数计算某个字符串,并执行其中的JS代码,比如eval("alert('hello world')")。

  6、执行上下文栈:在一个JS程序中,必定会产生多个执行上下文,JS引擎会以栈的方式来处理它们,也就是执行上下文栈。

  7、作用域:JS是一种没有块级作用域的语言(包括if、for等语句的花括号代码块或者单独的花括号代码块都不能形成一个局部作用域),所以js的局部作用域的形成有且只有函数的花括号内定义的代码块形成的,既函数作用域。

  8、作用域链:是作用域规则的实现,通过作用域链的实现,变量在它的作用域内可被访问,函数在它的作用域内可被调用。作用域链是一个只能单向访问的链表,这个链表上的每个节点就是执行上下文的变量对象,单向链表的头部(可被第一个访问的节点)始终都是当前正在被调用执行的函数的变量对象(活动对象),尾部始终是全局活动对象。

  9、闭包:函数对象可以通过作用域链相互关联起来,函数体内的数据(变量和函数声明)都可以保存在函数作用域内,这种特性在计算机科学文献中被称为“闭包”。从技术角度来说,JS的函数都是闭包:函数都是对象,都关联到作用域链,函数内数据都被保存在函数作用域内。


标签:Web,函数,作用域,代码,基础知识,对象,JS,变量
From: https://blog.51cto.com/u_15739596/6142341

相关文章

  • NodeJS 多线程编程
    一、开发环境Node.JSv14.8.0二、快速开始-worker_threadsjs和nodejs一直都是单线程,直到官方推出了worker_threads模块,用来解决CPU密集型计算场景。可以通过......
  • 基于webpack与TypeScript的SolidJS项目搭建
    本文将讲述如何基于webpack与TypeScript搭建一个基础的支持less模块的solidjs项目。方便后续涉及到solidjs相关分析与讨论都可以基于本文的成果之上进行。前置nodejsv1......
  • daemon.json 常用配置项
    {"registry-mirrors":["https://fv50tv30.mirror.aliyuncs.com","https://reg-mirror.qiniu.com"],"dns":["114.114.114.114","8.8.8.8"],"dat......
  • JS 超大文件上传解决方案:分片断点上传(一)
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传......
  • 自动注解@WebServlet详细说明
    /**@WebServlet自动注解:相当于在web.xml文件中配置了servlet*/@WebServlet("/servletDemo1")publicclassServletDemo1extendsHttpServlet{@Override......
  • JS中生成8位的随机数字
    场景前端使用websocket连接服务端时,后缀添加一个随机的8位数字,确保多个浏览器能同时访问。注:注公众号霸道的程序猿获取编程相关电子书、教程推送与免费下载。实现1、实现......
  • Modern.js v2 正式发布
    好消息,2023年3月16号字节跳动WebInfra团队宣布Modern.jsv2正式发布。字节跳动WebInfra团队从2021年10月27号发起Modern.js正式开源起,距离现在开发维护迭代已经50......
  • js- xlsx使用过程中遇到的问题
    导入--EXCEL1.引入js<scriptsrc="https://github.com/SheetJS/sheetjs/blob/github/dist/xlsx.full.min.js"></script>2定义上传input<inputclass="position-ab......
  • JavaWeb使用Kaptcha生成验证码(jar版)
    使用方式 Web项目导入jar包kaptcha-2.3.0.jar1.1:自定义jar包位置 自定义的jar包位置需要点击AddasLibrary才能使用,一般选......
  • 【ASP.NET Core】在node.js上托管Blazor WebAssembly应用
    由于Blazor-WebAssembly是在浏览器中运行的,通常不需要执行服务器代码,只要有个“窝”能托管并提供相关文件的下载即可。所以,当你有一个现成的Blazorwasm项目,没必要用其......