博客列表 >JavaScript基本语法、变量、作用域

JavaScript基本语法、变量、作用域

赵大叔
赵大叔原创
2020年05月20日 02:15:28689浏览

一、Js 的组成

1、JS 语言核心(只有三部分)

STT 组成部分 描述
1 ECMAScript 核心语法
2 DOM Document Object Model 文档(html/xml)对象模型
3 BOM Browser OBject Model 浏览器窗口对象模型

2、定时器: Timeout(), 宿主环境提供的 API

3、宿主环境: 执行环境/运行上下文

STT 组成 举例
1 浏览器 chrome / firefox / Edge / …
2 命令行
3 服务器 Node.js

二、JavaScript基本语法

  • js通过一对<script></script>标签嵌入到html文档中执行。
  • js注释:和PHP一样,单行注释—//;多行注释—/*...*/

三、实例演示 js 变量、作用域等基础知识

script标签属性

  1. <!--<script src="test.js" defer>-->
  2. <script>
  3. // js 代码就是写到这样一对标签中
  4. /*
  5. * script标签属性:
  6. * type="text/javascript" 目前前端脚本语言只有javascript,可以省略
  7. * src属性:指向外部js文件,通过该属性导入外部js文件,如果有src属性,标签中的内容会不能用
  8. * defer属性:将会延迟加载外部的js文件,直到当前的html解析完成
  9. * async属性: 可以实现外部的js文件与当前的html文件的解析同步进行
  10. * */
  11. // window.document.write("<h1>大家晚上好!</h1>");
  12. // alert():弹窗
  13. // alert('php.cn');
  14. // 不会生效:因为先解析js文件,拿不到html文档
  15. // 所以如果的DOM操作,js文档要写到body后面
  16. document.querySelector("h2").style.color = "red";
  17. </script>
  18. <body>
  19. <h2>越努力,越幸运。</h2>
  20. </body>
  21. <script>
  22. document.querySelector("h2").style.color = "red";
  23. </script>
  24. </html>

js变量和作用域

  1. <script>
  2. // Unicode: 每个字符都采用两个字节表示。
  3. // \转义符
  4. // var 姓名 = "吴\"老二\"";
  5. // console.log(姓名);
  6. // \转义符:出现在正常的字符前无效
  7. // var 姓名 = "\吴\"老二\"";
  8. // console.log(姓名);
  9. // 变量声明
  10. /*
  11. * php变量前面没有关键字,直接 $name = "赵大叔";
  12. * js-->ES5使用var关键字声明变量
  13. *
  14. * js 和 PHP 一样,变量区分大小写
  15. * */
  16. var username = "lzyx1";
  17. var userName = "lzyx3";
  18. console.log(username);
  19. console.log(userName);
  20. // 函数
  21. /*
  22. * 在JS中, 函数区分大小写,PHP中,函数中不区分
  23. * */
  24. function hello() {
  25. console.log("hello");
  26. }
  27. function HELLO() {
  28. console.log("HELLO");
  29. }
  30. hello();
  31. HELLO();
  32. </script>
  33. <script>
  34. // 变量
  35. // 约定大于配置
  36. var email = "zhangsan@php.cn";
  37. var SEX = "male";
  38. console.log(email);
  39. // 更新
  40. email = "lisi@php.cn";
  41. console.log(email);
  42. // ES5允许重新声明; let 不允许
  43. var email = "Hello@php.cn";
  44. // 作用域是一个对象, 用来查找变量的工具
  45. // php中作用域有两个: 函数作用域, 全局/外部使用域/函数外部
  46. // js与php的作用域是一样的,也有函数和全局
  47. // php与js都不存在块作用域 --> '{}'
  48. var congviec = "chuquan";
  49. function showcongviec() {
  50. var username = "dashu";
  51. console.log(username + "是" + congviec);
  52. }
  53. // 不能访问
  54. // console.log(username);
  55. showcongviec();
  56. {
  57. // 块作用域
  58. var age = 40;
  59. }
  60. console.log(age);
  61. {
  62. // ES6支持块作用域
  63. let salary = 10000;
  64. }
  65. // 不能访问
  66. // console.log(salary);
  67. if (true) {
  68. var hello = "php.cn";
  69. // let hello = "php.cn";
  70. console.log("Hello...." + hello);
  71. }
  72. console.log("Hello...." + hello);
  73. </script>

ES5变量声明的自动提升

  1. <script>
  2. // 变量声明提升: 变量未定义之前就可以使用了
  3. // 访问在前
  4. console.log(salary);
  5. // 声明在后
  6. var salary = 10000;
  7. // 相当于
  8. /*
  9. * var salary;
  10. * console.log(salary);
  11. * salary = 10000;
  12. * */
  13. console.log(salary);
  14. </script>

总结:JS有关变量和函数方面,和PHP的不少相同之处,学习过程中注意对比记忆,会容易不少。

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