JS基础知识回顾
回顾
由于 JavaScript 高级还是针对 JavaScript 语言本身的一个进阶学习,所以在开始之前我们先对以前所学过的 JavaScript 相关知识点做一个快速复习总结。
重新介绍 JavaScript
JavaScript 是什么
-
解析执行:轻量级解释型的
-
语言特点:动态,头等函数 (First-class Function)
-
又称函数是 JavaScript 中的一等公民
-
-
执行环境:在宿主环境(host environment)下运行,浏览器是最常见的 JavaScript 宿主环境
-
但是在很多非浏览器环境中也使用 JavaScript ,例如 node.js
-
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的创始人之一
浏览器是如何工作的
User Interface 用户界面,我们所看到的浏览器
Browser engine 浏览器引擎,用来查询和操作渲染引擎
*Rendering engine 用来显示请求的内容,负责解析HTML、CSS,并把解析的内容显示出来
Networking 网络,负责发送网络请求
*JavaScript Interpreter(解析者) JavaScript解析器,负责执行JavaScript的代码
UI Backend UI后端,用来绘制类似组合框和弹出窗口
Data Persistence(持久化) 数据持久化,数据存储 cookie、HTML5中的sessionStorage
JavaScript 执行过程
JavaScript 运行分为两个阶段:
-
预解析
-
全局预解析(所有变量和函数声明都会提前;同名的函数和变量函数的优先级高)
-
函数内部预解析(所有的变量、函数和形参都会参与预解析)
-
函数
-
形参
-
普通变量
-
-
-
执行
先预解析全局作用域,然后执行全局作用域中的代码, 在执行全局代码的过程中遇到函数调用就会先进行函数预解析,然后再执行函数内代码。
原文地址:https://www.cnblogs.com/superjishere/p/11727112.html
- 页面状态保持机制(编辑中)
- mysql主从同步(5)-同步延迟状态考量(seconds_behind_master和pt-heartbea)
- ngx_pagespeed-nginx前端优化模块介绍
- Tomcat利用MSM实现Session共享方案解说
- Tomcat集群环境下session共享方案梳理(1)-通过memcached(MSM)方法实现
- nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
- python常用知识梳理
- 如何打击“假货、高仿”类小程序
- centos 6x系统下源码安装mysql操作记录
- 【3】利用Word模板生成文档的总结
- 【2】快速代码集的由来及概览
- silverlight数据绑定模式TwoWay,OneWay,OneTime的研究
- Silverlight数据绑定/IValueConverter学习笔记
- silverlight:DeepZoom版的图片局部放大效果
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring学习(2):Spring Bean管理(上)
- 聊聊dubbo-go的TpsLimitFilter
- spring,springBoot事件
- LeetCode-3.无重复字符的最长子串 利用一个整形数组+ASCII码实现滑动窗口
- 算法不想学(二): 堆排序和top k
- 利用python读取EXCEL文档中的创建者信息
- R语言工具变量与两阶段最小二乘法
- 贼好用的Java工具类库,GitHub星标13k+,很是厉害!
- CPU密集型任务会阻塞 Node.js 吗
- Let's Encrypt 配置 HTTPS 免费泛域名证书
- 如何删除重复数据(二)
- 如何删除重复数据
- SQL 生成斐波那契数列
- SQL 计算小计和总计
- SQL 的执行顺序