博客列表 >js学习:第13章 JavaScript基本语法

js学习:第13章 JavaScript基本语法

王小飞
王小飞原创
2020年05月20日 17:20:30543浏览

JavaScript基础语法

在HTML中写JavaScript代码要用<script>… </script>标签包起来
  1. <script>
  2. window.document.write("<h1>大家好</h1>");
  3. </script>
如果script标签中出现src属性,将调用一个外部js脚本,并忽略内部代码
async: 可以实现外部的js文件与当前的html文件的解析同步进行

使用js改变html文件属性

  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>Document</title>
  7. </head>
  8. <body>
  9. <h2>我是被js改变为红色字体的文字</h2>
  10. </body>
  11. </html>
  12. <script>
  13. // 如果script标签中出现src属性,将调用一个外部js脚本,并忽略内部代码
  14. // async: 可以实现外部的js文件与当前的html文件的解析同步进行
  15. document.querySelector("h2").style.color = "red";
  16. </script>

注意:上面的代码必须在html尾部执行,否则在头部执行的时候找不到h2标签 js就失效了

效果:

js的变量

  1. // 如果没有这个变量或者变量值为空 会默认给个值Unicode:
  2. // console.log(姓名);
  3. // php没有变量声明的
  4. // 前面没有关键字 $name = "$";

变量区分大小写:

代码:

  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>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. var username = "admin";
  11. var userName = "大写的";
  12. // 变量区分大小写, 与php一致
  13. console.log(username);
  14. console.log(userName);
  15. function a() {
  16. console.log("Hello a");
  17. }
  18. function A() {
  19. console.log("Hello A大写的");
  20. }
  21. // 在JS中, 函数区分大小写,PHP中不区分
  22. a();
  23. A();
  24. </script>
  25. </body>
  26. </html>

效果:

js中的变量可以更新 可以重新声明

js与php的作用域是一样的,也有函数和全局

代码:

  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>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // 变量
  11. // 约定大于配置
  12. var email = "邮箱@php.cn";
  13. var SEX = "年龄";
  14. // 更新
  15. email = "更新后的邮箱@php.cn";
  16. console.log(email);
  17. // ES5允许重新声明
  18. var email = "重新声明的邮箱@php.cn";
  19. // 作用域是一个对象, 用来查找变量的工具
  20. // php中作用域有二: 函数作用域, 全局/外部使用域/函数外部
  21. // js与php的作用域是一样的,也有函数和全局
  22. // php与js都不存在块作用域
  23. console.log(email);
  24. var job = "job变量";
  25. function test() {
  26. var username = "名称";
  27. console.log(username + "是" + job);
  28. }
  29. test();
  30. // {
  31. // // 块作用域
  32. // // var age = 40;
  33. // }
  34. // {
  35. // // ES6支持块作用域
  36. // let age = 40;
  37. // // }
  38. // console.log(age);
  39. if (true) {
  40. var hello = "php.cn";
  41. console.log("Hello...." + hello);
  42. }
  43. console.log("Hello...." + hello);
  44. </script>
  45. </body>
  46. </html>

效果:

变量声明提升: 变量未定义之前就可以使用了

代码:

  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>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // 变量声明提升: 变量未定义之前就可以使用了
  11. // 声明
  12. var email;
  13. // 访问在前
  14. console.log(email);
  15. // 声明在后
  16. // var email = "admin@php.cn";
  17. // 初始化,第一次赋值
  18. email = "admin@php.cn";
  19. console.log(email);
  20. // var username;
  21. // console.log(username);
  22. </script>
  23. </body>
  24. </html>

效果:

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. <script>
  7. alert("我是弹窗");
  8. </script>
  9. <title>Document</title>
  10. <!-- <script>
  11. // 如果script标签中出现src属性,将调用一个外部js脚本,并忽略内部代码
  12. // async: 可以实现外部的js文件与当前的html文件的解析同步进行
  13. document.querySelector("h2").style.color = "red";
  14. </script>
  15. -->
  16. </head>
  17. <body>
  18. <h2>我是被js改变为红色字体的文字</h2>
  19. </body>
  20. </html>
  21. <script>
  22. // 如果script标签中出现src属性,将调用一个外部js脚本,并忽略内部代码
  23. // async: 可以实现外部的js文件与当前的html文件的解析同步进行
  24. document.querySelector("h2").style.color = "red";
  25. </script>
  26. <!-- script标签中添加defer属性, 将会延迟加载外部的js文件,直到当前的html解析完成 -->

效果:

确定后才可以加载,这就导致了一些js文件加载失败或者其他原因导致网站反应迟缓,打不开等情况,可以延迟加载js文件async 与html内容同步进行。

总结:js两种加载方式,第一种是文件引入,第二种是写在html文件中,这2中都区分先后加载,可以看需求放入头部或者尾部。

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