JavaScript|基础知识

一. 简介

1 发展历程

回顾整个JavaScript的发展历程, 实际上就是Web发展的历程

从最开始的拨号上网方式到现在的100M光纤, 4G/5G移动Web的发展

在近20年, 上网的方式发生了翻天复地的变化, 可以说是科技大爆炸.

人们在享受越来越便捷的上网的同时, 对Web产品的需求越来越高

从单纯的对访问速度的需求, 越来越多的转移到视觉美感, 智能操作交互, 沉浸式虚拟现实, 这些需求又反过来推动了技术的不断创新与进步.

1) JS的诞生

在互联网初期(20世纪90年代) ----web1.0

主要通过拨号上网的方式浏览网页,提交信息. 上网的速度只有28.8 kbit/s

JavaScript最初是网景公司的工程师Brandan Eich花了10天的时间设计出来的,主要是为了在浏览器上先验证用户输入的信息是否符合格式.

为什么要这样做呢?

因为当时的网络是非常慢的,如果用户填写了大量的信息,提交到服务器,在服务器端验证发现不合格,用户要再次重新填写,这个是很让人抓狂的.

设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条告诉你忘记填写一个必要的字段

最开始的时候,Eich把自己设计的这种运行在浏览器上的脚本叫做liveScript,在发布的时候为了蹭Java的热度,就改名叫做JavaScript,实际上跟Java没有半毛钱关系

2) JS的成长

在PC互联网(2010年之前)----web2.0

这个时候,个人电脑PC开始普及,网络速度突飞猛进,上网的成本越来越低

人们开始大量的使用PC访问web应用,包括:

  • blog(博客)--新浪
  • RSS(订阅)
  • 社交网络(SNS)--FaceBook/人人网
  • P2P(下载)--迅雷
  • 搜索引擎--Google/baidu
  • 即时通讯(IM)--QQ
  • 电子商务--Taobao

在这个时代,JavaScript都只是一种不起眼的小脚本,没有人把他当成真正的编程语言.

JavaScript在这个时候依然只是用来处理PC网页的简单动画和验证,也没有单独的前端岗位,大部分前端的工作都是由php程序员或者UI人员完成的

3) JS的新生

web3.0

以智能手机为代表的移动互联网应运为生, 称为web3.0

HTML5与CSS3

到2015年左右, HTML5和CSS3的标准化, 大大推进了前端的发展

前端做为一个独立的方向真正开始被重视

ECMA2015

在2015年, JavaScript的规范组织ECMA(欧洲计算机制造商协会)推出了ECMA2015, 也被称为ES6

这一版本的出现, 极大的改进了JavaScript语言, 使得JavaScript具备开发大型项目的能力

V8引擎与Node.js

Chrome推出的V8引擎将JavaScript的速度提升了几个数量级

Node.js的出现, 完善了JavaScript在服务端的能力, 使得JavaScript编写服务端程序作为可能

未来的发展

自2016年以来, 前端发展非常迅速, 开源社区越来越活跃, 出现了大量的工作岗位, 薪资也水涨船高

JavaScript现在应用的范围越来越广

  • 微信小程序
  • H5游戏
  • 桌面应用(Electron)
  • webApp
  • AI+物联网( AIot)

2 JS的组成

JavaScript是解释性弱类型编程语言

  • 解释性: 逐行解释, 逐行执行
  • 弱类型: 不区分变量的数据类型
  • 编程语言: 图灵完备的语言

一般认为浏览器中JavaScript由三部分组成

  • ECMAScript: 基础语法
  • DOM: 文档对象模型
  • BOM: 浏览器对象模型
img

1) ECMAScript

ECMAScript 是由ECMA( 原欧洲计算机制造商协会)进行标准化的一门编程语言, 主要规定了像变量, 数据类型, 流程控制, 函数等基础语法

2) DOM和BOM

W3C: 万维网联盟 (World Wide Web Consortium) 主要是完成HTML和CSS及浏览器标准化的研究, 是一个非盈利性的公益组织, 主要由大公司和开发人员组成

其中,

  • DOM是由W3C组织制定的标准, 通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色、事件等)
  • BOM是由各个浏览器厂商根据DOM在各自浏览器上的实现, 不同的浏览器会略有差异, 通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等

3 JS的书写位置

跟CSS一样, JS也有3种书写方式

  • 外部: 将JS文件单独保存, 再通过<script src="xxx.js">引入
  • 内嵌: 在HTML文件中, 将JS代码写在<script>标签中
  • 行内: 现在几乎不用

示例

外部

<script src="my.js"></script>

内嵌

<script>
  alert('Hello  World~!')
</script>

在实际工作中, 通常将js代码写在文件中, 再使用外部方式引入

在学习阶段, 为了调试方便, 主要采用内嵌的

二.变量

1 什么是变量

变量是一个存放数据的容器(盒子), 由变量名和变量值组成

就好比, 通过房间号(变量名)可以找到某个人(变量值)

image.png

扩展

变量是程序在内存中申请的一块用来存放数据的空间

2 变量的使用

1) 变量的声明

语法

// var 变量名
var uname
var age
  • var ( variable )是一个 JS关键字, 用来声明变量, 后面跟变量名
  • uname/age就是变量名, 计算机通过这个名字就可以找到对应的内存空间, 进而访问到空间里的数据

2) 变量的赋值

语法

// 变量名 = 变量值
age = 10  // 将数值10放到age对应的空间

3) 声明的同时赋值

示例

var age = 18

变量可以重新赋值, 新值会覆盖旧值

age = 81

注意

一般, 变量先声明再使用

4) 变量命名规则

在JS中, 变量的命名是有一定的规则的(标识符)

  • 标识符: 由字母(A-Za-z)、数字(0-9)、下划线()、美元符号( $ )组成,如:usrAge, num01, name
  • 变量名严格区分大小写, 如 appApp是两个不同的变量
  • 不能以数字开头
  • 不能是 关键字 或者 保留字

推荐使用 驼峰法 (首字母小写,后面单词的首字母需要大写)

如: myFirstName

5) 关键字与保留字

image-20230707093221513

更多相关的内容, 参考JavaScript 保留关键字

示例

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 声明变量, 同时赋值
      var age = 18
      console.log(age)
      age = 81
      console.log(age)

      // 使用let声明变量
      // 1. 不能重复声明
      // 2. 可以修改变量值
      // 3. 后面使用let可以全面代替var
      let uname = 'xiaoming'
      uname = 'xiaomei'

      // 使用const声明 常量
      // 1. 不能重复声明
      // 2. 不能直接修改常量值
      const str = 'hello'
      str = 'world'
    </script>
  </body>
</html>

posted @ 2023-07-10 10:54  Weltㅤ  阅读(19)  评论(0编辑  收藏  举报