JavaScript高级——重新认识JavaScript(1)

本文回顾了JavaScript的基础知识,包括其动态特性、头等函数概念、执行环境及在宿主环境如浏览器和node.js中的应用。深入探讨了ECMAScript的语法规范、WebAPIs、浏览器工作原理以及JavaScript的执行过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript 高级

回顾

由于 JavaScript 高级还是针对 JavaScript 语言本身的一个进阶学习,所以在开始之前我们先对以前所学过的 JavaScript 相关知识点做一个快速复习总结

重新介绍 JavaScript

JavaScript 是什么

  • 解析执行:轻量级解释型的
  • 语言特点:动态,头等函数 (First-class Function)
  • 又称函数是 JavaScript 中的一等公民
  • 执行环境:在宿主环境(host environment)下运行,浏览器是最常见的 JavaScript 宿主环境
  • 但是在很多非浏览器环境中也使用 JavaScript ,例如 node.js
    MDN-JavaScript

JavaScript 的组成

  • ECMAScript - 语法规范
    • 变量、数据类型、类型转换、操作符
    • 流程控制语句:判断、循环语句
    • 数组、函数、作用域、预解析
    • 对象、属性、方法、简单类型和复杂类型的区别
    • 内置对象:Math、Date、Array,基本包装类型String、Number、Boolean
  • Web APIs
    • BOM
      • onload页面加载事件,window顶级对象
      • 定时器
      • location、history
    • DOM
      • 获取页面元素,注册事件
      • 属性操作,样式操作
      • 节点属性,节点层级
      • 动态创建元素
      • 事件:注册事件的方式、事件的三个阶段、事件对象

JavaScript 可以做什么

阿特伍德定律:

Any application that can be written in JavaScript, will eventually be written in JavaScript.

任何可以用JavaScript来写的应用,最终都将用JavaScript来写

阿特伍德 stackoverflow的创始人之一

  • 知乎 - JavaScript 能做什么,该做什么?
  • 最流行的编程语言 JavaScript 能做什么?

浏览器是如何工作的
在这里插入图片描述

参考链接

User Interface  用户界面,我们所看到的浏览器
Browser engine  浏览器引擎,用来查询和操作渲染引擎
*Rendering engine 用来显示请求的内容,负责解析HTML、CSS,并把解析的内容显示出来
Networking   网络,负责发送网络请求
*JavaScript Interpreter(解析者)   JavaScript解析器,负责执行JavaScript的代码
UI Backend   UI后端,用来绘制类似组合框和弹出窗口
Data Persistence(持久化)  数据持久化,数据存储  cookie、HTML5中的sessionStorage

JavaScript 执行过程

JavaScript 运行分为两个阶段:

  • 预解析
    • 全局预解析(所有变量和函数声明都会提前;同名的函数和变量函数的优先级高)
    • 函数内部预解析(所有的变量、函数和形参都会参与预解析)
      • 函数
      • 形参
      • 普通变量
  • 执行

先预解析全局作用域,然后执行全局作用域中的代码

再执行全局代码的过程中遇到函数调用就会先进行函数预解析,然后再执行函数内代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script>
    // JavaScript 是一个编程语言
    
    var a = 1;
    var b = 2;
    console.log(a + b);

    // 特点:
    // 1 解释执行     解释一行执行一行     慢
    //   java  c#  编译执行    一次性把代码编译成可执行的代码,然后再一行一行执行    快
    // 2 灵活  动态特性   可以随意给对象增加属性和方法
    // 3 头等函数    函数在JavaScript一等公民
    // 4 执行环境    宿主环境
  </script>
</head>
<body>
  
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值