Blogger Information
Blog 47
fans 1
comment 0
visits 53033
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JS - 初体验与基础
晴天
Original
802 people have browsed it

Javascript

1.JS 历史

  • Js 前生叫做 Live Script

  • 1995 年 2 月 网景(Netscape)公司为了推广这个脚本,蹭了一下 Java 热度,正式改名为 JavaScript。

  • 由于 js 特受欢迎,第二年,微软(Microsoft)公司在 IE3 浏览器 开发 Jscript

  • 1997 年,ECMA(欧洲计算机制造商会)在 JavaScript1.1 的基础上制定了一个前端脚本标准,编号 ECMA-262 , 这个脚本的名称就变成了 ECMAscript

  • 1998 年 ISO 采用了这个 ECMA-262 标准,改名为 ISO-16262 标准

  • 从此,所有浏览器厂家以 ECMAscript 为标准开发前端脚本语言

  • JavaScript 只是 ECMAscript 标准的一个实现

  • 2011 年 ECMAscript 2011 发布 ES5/ES5.1

  • 2015 年 发布 ES6 同时改名 ECMAscript 2015

  • 之后发布的就叫 ECMAscript 2016 / 2018 / 2020 ….

2. JS 组成

  • JS 语言核心组成三部分
组成部分 描述
ECMAsctipt 核心语法
DOM Document Object Model 文档(html/xml)对象模型
BOM Browser Object Model 浏览器窗口对象模型
  • 定时器:Timeout() ,宿主环境提供的 api

  • 执行环境:

    • 浏览器

    • 命令行

    • Node.js

  • web 开发 主要是浏览器执行环境

3.基础案例

3.1 注释

  • 使用与 PHP 相同的注释方法

    | 名称 | 演示 |
    | ———— | ————————— |
    | 单行注释 | // balabala... |
    | 多行注释 | /* balabala...*/ |

3.2 标签属性

  • js 要写到 html 文档 <script></script> 标签中

  • 当然 也可以链接外部 js 文档 <script src="teat.js"></script>

    • 注意 一旦使用 src 链接外部 js 那么这段标签中的 js 内容将会失效,需要另写一对<script></script>实现
  • 这对标签可以放到 html 文档中任何地方 head 中 body 中 html 中 甚至 HTML 之外 都可以 就像是 PHP 的 <?php ?>

  • 注意 HTML 是超文本标记语言,是按上下顺序执行加载, 当然也可以用<script></script>中的属性定义它的加载方式

属性名 演示 功能
defer <script defer ></script> 当页面所有 html 加载完成后 再执行或加载 js 或者直接将 script 元素放到文档最下面是一样的效果
async <script async ></script> 异步加载,当 html 加载遇到 js 文档时,会分两个线程,1.继续加载 html 2.加载该 js 文档 ,js 文档加载完成后不管 html 文档有没有加载完,都立即执行 js 文档

3.3 函数与变量

  • js 字符编码集:Unicode 每个字符采用两个字节表示。
  • 可以使用中文作为变量名,但不要用!
  • 关于转义字符/:出现在正常的字符前无效

3.3.1 变量

在 JS 中声明变量使用关键字 var;
打印到控制台使用console.log()

  1. //示例
  2. var username = "admin";
  3. // 打印
  4. console.log(admin);

  • 注意 js 的打印是输出到控制台中,并非页面中 浏览器按 F12 选择 Console 查看

  • js 中变量跟 php 一样是区分大小写的! var username = "admin";var Username = "peter"; 这是两个完全不同的变量

  • js 中允许变量更新 以及重新声明

  1. var username = "admin";
  2. console.log(username); //输出 admin
  3. // 更新
  4. username = "peter";
  5. console.log(username); //输出 peter
  6. // 重新声明
  7. var username = "sunny";
  8. console.log(username); //输出 sunny
  • js 中可以访问在前 声明在后 那么变量的值默认为undefined
  1. // 访问在前
  2. console.log(username); // 输出 undefined
  3. // 声明在后
  4. var username = "admin";
  5. console.log(username); // 输出 admin

3.3.2 函数

  • 函数声明与 php 相同 关键字function

  • 注意 在 JS 中 函数同样区分大小写 这是与 PHP 不同点之一;

  1. // 声明一个变量 小写
  2. function name() {
  3. console.log("hello name");
  4. }
  5. // 大写
  6. function Name() {
  7. console.log("hello Name");
  8. }
  9. // 调用
  10. name();
  11. Name();

  • 关于函数的作用域
    • js 中函数作用域可以直接访问全局中的变量
  1. var username = "admin";
  2. // 创建函数
  3. function func() {
  4. // 在js中 连接字符串使用 +
  5. console.log("username = " + username);
  6. }
  7. // 调用
  8. func();

3.4 块作用域

  • 作用域是一个对象,用来查找变量的工具

  • js 与 php 一样存在函数作用域与全局作用域

  • 但均不存在块作用域!

  • 当然 es6 中已经支持块作用域了;

  1. {
  2. // 块作用域
  3. // es6 语法
  4. let admin = "peter";
  5. // 块内访问
  6. console.log(admin); //正常输出
  7. }
  8. // 全局访问
  9. console.log(admin); //报错

4. 总结

感觉 js 天生是为php 分担压力的, 将所有数据传到前端让js处理 减轻服务器压力

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:很快进入5G时代了, 流量不再是限制因素, 想降低服务器压力,提升响应速度 , 最有效的办法是尽可能减少http请求, 以及尽可能的异步操作
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post