博客列表 >front 16 JS初接触(0810mon)

front 16 JS初接触(0810mon)

老黑
老黑原创
2020年08月17日 21:38:16509浏览

1. 一些基础知识

JavaScript

  • 1995 年, 网景(Netscape), LiveScript -> JavaScript
  • 1997 年, ECMA(欧洲计算机制造商协会)制定了一个前端的脚本标准:ECMA-262
  • ECMA-262: ECMAScirpt
  • ECMASCript 和 JavaScript 有什么关系呢?
  • ECMAScript 是一个类, JavaScript 是这个类的一实现/实例
  • 之前的用在前端的脚本语言比较多,微软 JScript…, 最后只剩下 JavaScrpt
  • ECMAScript 2011: ES5 / ES5.1(本周我们学的就是这个版本)
  • ECMAScript 2015: 就是大名鼎鼎ES6

JS 核心

  1. ECMAScript: 核心语法, 变量,流程控制, 对象,数组….
  2. DOM: 文档对象模型(html)
  3. BOM: 浏览器对象模型(Browser)

执行机制

  • 同步
  • 异步: 定时器

宿主环境

  • 执行环境/运行上下文
  • 浏览器: Chrome / FireFox / Edge / 360….
  • 服务器: Node.js, NPM(js 版 composer )

2. 异步

  • 后段的异步执行是为了前端更快地加载或渲染 - 前端反而有可能是感觉同步了(同时渲染出来了)
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <!--
  7. 1. 延迟
  8. 2. 异步
  9. -->
  10. <!-- async: 异步加载: 执行JS脚本,并不会暂停对当前HTML文档的解析。-->
  11. <!-- <script src="test.js" async></script> -->
  12. <title>JS加载模式: 延迟, 异步</title>
  13. </head>
  14. <body>
  15. <!-- 浏览器对js的加载与解析默认是同步的 -->
  16. <!-- <script src="test.js"></script> -->
  17. <!-- 加载模式针对的是外部的脚本 -->
  18. <h2>大家晚上吃饱了吗?</h2>
  19. <!-- defer: 延迟加载,等当前的html文档全部渲染结束,再加载js脚本 -->
  20. <!-- <script src="test.js" defer></script> -->
  21. <!-- 只要把js脚本放在底部加载执行就OK -->
  22. <script src="test.js"></script>
  23. </body>
  24. </html>

3. 基本语法

  • php变量区分大小写,js也一样
  • php中函数的命名不区分大小写,js中区分大小写的
  • 变量的全局作用域
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>js与php的一点区别</title>
  7. </head>
  8. <body>
  9. <script>
  10. // js与php中的注释语法是一样的
  11. // 1. 变量的声明与赋值
  12. // php
  13. // 这个不叫变量声明, 变量声明,变量名之前要有关键字
  14. // 这个关键字用来定义变量的类型,作用域...
  15. // php 没有变量声明,直接定义就可以用了
  16. // $username = null;
  17. // $username = "peter zhu";
  18. // js变量必须使用var/let/const声明, 声明不是为了定义类型,而是为了绑定作用域
  19. // 用默认值进行初始化, js变量如果未初始化, 默认用undefined
  20. // var username;
  21. // 用自定义的值进行初始化
  22. var username = "朱老师";
  23. // 更新/赋值
  24. username = "川建国";
  25. console.log(username);
  26. // php变量区分大小写,js也一样
  27. // console.log(userName);
  28. // 赋值
  29. // 第一次赋值: 初始化, 要么给一个自定义的值,要么系统给一个默认值
  30. // 第二次更新: 将值更新,如果是动态语言, 它的类型也随着值的类型更新与改变
  31. // 2. js中的函数语法与php基本一致
  32. function getUserName(name) {
  33. return "Hello " + name;
  34. }
  35. // console.log(getUserName("Peter Zhu"));
  36. // php中函数的命名不区分大小写,js中区分大小写的
  37. // define();
  38. // DEFINE();
  39. // 报错
  40. // console.log(getUsername("Peter Zhu"));
  41. // 变量声明补充
  42. email = "peter_zhu@php.cn";
  43. // 如果不添加var绑定作用域,该变量就会自动成为全局对象window属性
  44. // var本身就是声明在函数外部, 外部就是全局作用域,所以site就是一个全局变量
  45. var site = "php中文网";
  46. // 带var的用delete删除不了,但不带的可以删除掉。
  47. </script>
  48. </body>
  49. </html>

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议