JavaScript-初识

112 阅读3分钟

1. JS概述

1.1 JavaScript诞生的初衷

  • 最初的目的:判断客户端的输入(以前的网速慢)
  • 现在的意义:
    • 页面特效(PC端的网页效果)
    • 移动端(移动Web和APP)
    • 异步和服务器交互
    • 服务端开发(NodeJs)

1.2 JavaScript弱类脚本语言

  • 解析执行与编译执行
  • 编译执行:把代码编译成CPU认识的语言文件,然后整体运行
  • 解析执行:一行一行解析,解析一行执行一行
  • 弱类脚本语言:弥补编译语言的不足而存在的,作为补充语言,不用编译
  • 强类型语言:简单理解定义一个变量,可以有多种数据类型

1.3 JavaScript的历史

  • 当时工作于 Netscape 的 Brendan Eich,开始着手为即将在 1995 年发行的 Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言,当时的目的是在浏览器和服务器(本来要叫它 LiveWire)端使用它。Netscape 与 Sun 及时完成 LiveScript 实现。就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。Netscape 的赌注最终得到回报,JavaScript 从此变成了因特网的必备组件。
  • 三足鼎立
  • 因为 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中发布了 1.1 版。恰巧那个时候,微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)。微软步入 Web 浏览器领域的这重要一步虽然令其声名狼藉,但也成为 JavaScript 语言发展过程中的重要一步。
  • 在微软进入后,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 和其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 中不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言的标准化显然已经势在必行。

1.4 JavaScript的组成

  • ECMAScript:JS的语法规范
  • DOM:JS操作网页上元素的API
  • BOM:JS操作浏览器部分功能的API

1.5 输出语句

  • console.log(“内容”)在控制台打印输出内容
  • document.write(“内容”)在页面书写内容
  • alert(“内容”)弹窗显示内容

1.6 注释

  • 单行注释://,快捷键:ctrl+/
  • 多行注释:/**/ ,快捷键:/* */
  • 方法注释:/@params/

1.7 引入方式

  • 内嵌式:<script>console.log('hello')</script>
  • 外链式:<script src="demo.js"></script>
  • script标签异步加载属性
    • 无defer、async
      • 立即加载
      • 立即执行
      • 阻塞
    • async
      • <script src='1.js' async></script>
      • 不阻塞
      • 异步加载:后续文档的加载与script脚本加载,并行进行
      • 执行1.js时,HTML暂停解析
      • 多个async脚本不能保证加载顺序,不适用于考虑依赖的应用场景
    • defer
      • <script src='2.js' defer></script>
      • 不阻塞
      • 异步加载:仅加载不执行,后续文档加载与script脚本加载,并行进行
      • 所有元素解析完成之后,DOMContentLoaded事件触发之前完成,因此会按照顺序执行
      • 存在多个defer属性的脚本时,执行顺序与加载顺序一致

2. 变量

2.1 变量的释义

  • 变量是在计算机中存储数据的一个标识符
  • 变量可以在声明的时候赋值,也可以稍后赋值
  • 变量可以在一行上定义多个变量

2.2 命名规则

  • 驼峰命名:getElementById
  • 变量命名必须以字母或是下标符号”_”或者”$”为开头。
  • 变量名长度不能超过255个字符。
  • 变量名中不允许使用空格,首个字不能为数字。
  • 不用使用脚本语言中保留的关键字及保留符号作为变量名。
  • 变量名区分大小写。(javascript是区分大小写的语言)
  • 汉语可以作为变量名。但是不建议使用!!!
  • 关键字:

保留关键字1 保留关键字2