JavaScript(JS)
| 组成 | 
说明 | 
| ECMAScript | 
规定了JS基础语法核心知识,包括变量、数据类型、流程控制、函数、对象等。 | 
| BOM | 
浏览器对象模型,用于操作浏览器本身,如:页面弹窗、地址栏操作、关闭窗口等。 | 
| DOM | 
文档对象模型,用于操作HTML文档,如:改变标签内的内容、改变标签内字体样式等。 | 
JS核心语法
引入方式
- 内部脚本
 
1 2 3 4 5 6 7 8
   | <body></body>   
       <script>     alert("hello world");   </script> </body>
   | 
 
- 外部脚本(JS代码放在外部JS文件中
demo.js 
1
   | alert('Hello JavaScript');
  | 
 
引入到HTML页面中
1 2 3
   | <body>   <script src="demo.js"></script> </body>
   | 
 
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
   | <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <meta name="viewport" content="width=device-width, initial-scale=1.0">   <title>JS-引入方式</title> </head> <body>
    
 
 
 
       <script src="js/demo.js"></script> </body> </html>
   | 
 

基础语法
- 变量&常量
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   | <script>            
    
       const PI = 3.14;   
    console.log(PI);     </script>
   | 
 
- 数据类型(基本数据类型和引用数据类型)
 
| 基本数据类型 | 
说明 | 
number | 
数值类型,包括整数、浮点数和特殊值 NaN(Not a Number)。 | 
boolean | 
布尔类型,只有两个值:true 和 false。 | 
null | 
表示“空值”或“无对象”,是一个表示“无”的特殊对象类型。 | 
undefined | 
表示变量已声明但未赋值,是变量的默认初始值。 | 
string | 
字符串类型,可用单引号 '、双引号 " 或反引号 `,推荐使用单引号。 | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
   | <script>                              
                
      
           
           let name = 'Tom';     let age = 18;
      console.log('我是'+name+', 我今年'+age+'岁');     console.log(`我是${name}, 我今年${age}岁`);        </script>
   | 
 
- 函数(function)
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
   | <script>                    
                                         
           
           let add = (a,b) => {       return a + b;     }
      let result = add(1000,2000);     console.log(result);      </script>
   | 
 
- 自定义对象(object)
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | <script>               let obj = {       name: '张三',       age: 18,       sayName: function(){         console.log(this.name);       }     }
           obj.sayName(); </script>
   | 
 
json
概念:JavaScript 0biect Notation,JavaScript对象标记法(JS对象标记法书写的文本)
由于其语法简单,层次结构鲜明,现多用于作为数据载体,在网络中进行数据传输。
1 2 3 4 5 6 7 8 9 10 11 12
   | <script>   let person = {     name: 'itcast',     age: 18,     gender: '男'   }   alert(JSON.stringify(person)); 
    let personJson = '{"name": "heima", "age": 18}';   alert(JSON.parse(personJson).name);
  </script>
   | 
 
DOM(文档对象模型)
| 节点类型 | 
说明 | 
Document | 
整个文档对象,DOM 的根节点,代表整个 HTML 或 XML 文档 | 
Element | 
元素节点,表示页面上的各类 HTML 元素(如 <div>、<p> 等) | 
Attribute | 
属性节点,表示元素的属性(如 class="box" 中的 class) | 
Text | 
文本节点,表示元素或属性中的纯文本内容 | 
Comment | 
注释节点,表示文档中的注释内容(<!-- 注释内容 -->) | 
DOM参考文档:https://www.w3school.com.cn
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
   | <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <meta name="viewport" content="width=device-width, initial-scale=1.0">   <title>JS-DOM</title> </head> <body>
    <h1 id="title1">11111</h1>   <h1>22222</h1>   <h1>33333</h1>
    <script>                    
      let hs = document.querySelectorAll('h1');
           hs[0].innerHTML = '修改后的文本内容';   </script> </body> </html>
   | 
 
JS事件监听
语法:事件源.addEventListener(‘事件类型’, 事件触发执行的函数)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
   | <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <meta name="viewport" content="width=device-width, initial-scale=1.0">   <title>JS事件</title> </head> <body>      <input type="button" id="btn1" value="点我一下试试1">   <input type="button" id="btn2" value="点我一下试试2">
    <script>          document.querySelector('#btn1').addEventListener('click', () => {       console.log('试试就试试~~');     });     document.querySelector('#btn1').addEventListener('click', () => {       console.log('试试就试试22~~');     });
           document.querySelector('#btn2').onclick =  () => {       console.log('试试就试试~~');     }     document.querySelector('#btn2').onclick =  () => {       console.log('试试就试试22~~');     }   </script> </body> </html>
   | 
 
就这样吧,匆忙结束…