web前端开发:js介绍

举报
zhousn 发表于 2020/08/09 22:32:44 2020/08/09
【摘要】 JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言。

JavaScript 是什么

  • 解析执行:轻量级解释型的

  • 语言特点:动态,头等函数 (First-class Function)

o   又称函数是 JavaScript 中的一等公民

  •      执行环境:在宿主环境(host environment)下运行,浏览器是最常见的 JavaScript 宿主环境

o   但是在很多非浏览器环境中也使用 JavaScript ,例如 node.js

MDN-JavaScript

JavaScript 的组成

  •    ECMAScript - 语法规范

o   变量、数据类型、类型转换、操作符

o   流程控制语句:判断、循环语句

o   数组、函数、作用域、预解析

o   对象、属性、方法、简单类型和复杂类型的区别

o   内置对象:MathDateArray,基本包装类型StringNumberBoolean

  •    Web APIs

o   BOM

  •   onload页面加载事件,window顶级对象

  • 定时器

  •   locationhistory

o   DOM

  •   获取页面元素,注册事件

  • 属性操作,样式操作

  •  节点属性,节点层级

  • 动态创建元素

  •   事件:注册事件的方式、事件的三个阶段、事件对象

JavaScript 可以做什么

阿特伍德定律:

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

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

阿特伍德 stackoverflow的创始人之一

浏览器是如何工作的

参考链

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


JavaScript 执行过程

JavaScript 运行分为两个阶段:

  •       预解析

o   全局预解析(所有变量和函数声明都会提前;同名的函数和变量函数的优先级高)

o   函数内部预解析(所有的变量、函数和形参都会参与预解析)

  1.   函数

  2.   形参

  3. 普通变量

  •       执行

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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。