博客列表 >JavaScript 基本了解

JavaScript 基本了解

Lon
Lon原创
2021年09月28日 17:59:22534浏览

JavaScript 基本了解

了解更多请访问https://www.runoob.com/js/js-tutorial.html

一、JavaScript 简介

JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

  • JavaScript 是脚本语言

  • JavaScript 是一种轻量级的编程语言。

  • JavaScript 是可插入 HTML 页面的编程代码。

  • JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

1、JavaScript:直接写入 HTML 输出流

  1. <script>
  2. document.write("<h1>这是一个标题</h1>");
  3. </script>

只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。

2、JavaScript:对事件的反应

  1. <button type="button" onclick="alert('Holle')">点我</button>

3、JavaScript:改变 HTML 内容

  1. <p id="demo">文本内容</p>
  2. <script>
  3. x = document.getElementById("demo"); //查找元素
  4. x.innerHTML="Hello JavaScript"; //改变内容
  5. </script>

二、JavaScript 用法

在HTML 中的js脚本必须位于 <script>`</script> 标签之间。

脚本可被放置在 HTML 页面的 <body><head> 部分中。

1、<script> 标签

如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签。

<script></script> 会告诉 JavaScript 在何处开始和结束。

<script></script>之间的代码行包含了 JavaScript:

  1. <script>
  2. alert("我的第一个 JavaScript");
  3. </script>

2、<body> 中的 JavaScript 函数

我们把一个 JavaScript 函数放置到 HTML 页面的 <body> 部分。

该函数会在点击按钮时被调用:

  1. <body>
  2. <button type="button" onclick="myFun()">点我改变文本内容</button>
  3. <p id="demo">文本内容</p>
  4. <script>
  5. function myFun(){
  6. x = document.getElementById("demo"); //查找元素
  7. x.innerHTML="Hello JavaScript"; //改变内容
  8. }
  9. </script>
  10. </body>

3、外部的 JavaScript

也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

外部 JavaScript 文件的文件扩展名是 .js。

如需使用外部文件,请在 <script> 标签的 “src” 属性中设置该 .js 文件:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <script src="my.js"></script>
  5. </body>
  6. </html>

三、JavaScript 输出

JavaScript 可以通过不同的方式来输出数据:

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制

1、使用 window.alert()

可以弹出警告框来显示运算结果的数据:

  1. <script>
  2. alert(5+6);
  3. </script>

2、操作 HTML 元素

如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。

请使用 “id” 属性来标识 HTML 元素,并 innerHTML 来获取或插入元素内容:

  1. <p id="demo">文本内容</p>
  2. <script>
  3. document.getElementById("demo").innerHTML="Hello JavaScript"; //改变文本内容
  4. </script>

以上 JavaScript 语句(在 <script> 标签中)可以在 web 浏览器中执行:

document.getElementById(“demo”) 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。

innerHTML = “Hello JavaScript” 是用于修改元素的 HTML 内容(innerHTML)的 JavaScript 代码。

3、写到 HTML 文档

  1. <script>
  2. document.write("<h1>这是一个标题</h1>");
  3. </script>

4、写到控制台

如果您的浏览器支持调试,你可以使用 console.log() 方法在浏览器中显示 JavaScript 值。

浏览器中使用 F12 来启用调试模式, 在调试窗口中点击 “Console” 菜单。

  1. <script>
  2. let a = 5;
  3. let b = 6;
  4. let c = a + b;
  5. console.log(c);
  6. </script>


四、JavaScript 变量

变量是用于存储信息的”容器”。

  1. /*
  2. 声明(创建) JavaScript 变量在 JavaScript 中创建变量通常称为"声明"变量。使用 let 和 const (ES6)
  3. 在 2015 年以前,我们使用 var 关键字来声明 JavaScript 变量。
  4. 在 2015 后的 JavaScript 版本 (ES6) 允许我们使用 const 关键字来定义一个常量,使用 let 关键字定义的限定范围内作用域的变量。
  5. */
  6. <script>
  7. let a = 5;
  8. let b = 6;
  9. let c = a + b;
  10. console.log(c);
  11. </script>

与代数一样,JavaScript 变量可用于存放值(比如 a = 5)和表达式(比如 c = a + b)。
变量可以使用短名称(比如 a 和 b),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

五、JavaScript 数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

1、JavaScript 字符串

字符串是存储字符(比如 “Holle JavaScript”)的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号:

  1. <script>
  2. let str1 = "Holle JavaScript";
  3. let str2 = 'Holle JavaScript';
  4. </script>

2、JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

  1. <script>
  2. let num1 = 10;
  3. let num2 = 10.00;
  4. </script>

3、JavaScript 布尔

布尔(逻辑)只能有两个值:true 或 false。

  1. <script>
  2. let x = true;
  3. let y = false;
  4. </script>

4、JavaScript 数组

  1. <script>
  2. let prices = [96, 45, 23, 88];
  3. </script>

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

5、JavaScript 对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

  1. <script>
  2. const item1 = {
  3. // 属性: 变量在对象中叫属性
  4. name: "笔记本电脑",
  5. num: 5,
  6. price: 6699
  7. };
  8. </script>

6、Undefined 和 Null

Undefined 这个值表示变量不含有值。

可以通过将变量的值设置为 null 来清空变量。

  1. <script>
  2. let res;//声明变量
  3. console.log(typeof res);//undefined
  4. res = null;
  5. console.log(typeof res);
  6. </script>

六、JavaScript 函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

1、JavaScript 函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

  1. function functionname(){ // 执行代码}

当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

  1. <button type="button" onclick="myFun()">点我改变文本内容</button>
  2. <p id="demo">文本内容</p>
  3. <script>
  4. function myFun(){
  5. document.getElementById("demo").innerHTML="Hello JavaScript";//改变文本内容
  6. }
  7. </script>

2、调用带参数的函数

在调用函数时,可以向其传递值,这些值被称为参数。这些参数可以在函数中使用。可以发送任意多的参数,由逗号 (,) 分隔:

  1. <script>
  2. myFunction(argument1,argument2);
  3. </script>

当声明函数时,请把参数作为变量来声明:

  1. <script>
  2. function myFunction(var1,var2)
  3. {
  4. 代码
  5. }
  6. </script>

变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。

  1. <script>
  2. function myFun(a,b){
  3. let c = a + b;
  4. console.log(c);
  5. }
  6. myFun(5,6);
  7. </script>

3、带有返回值的函数

有时,我们会希望函数将值返回调用它的地方。
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。

语法

  1. <script>
  2. function myFunction()
  3. {
  4. var x=5;
  5. return x;
  6. }
  7. var myVar=myFunction();
  8. </script>

上面的函数会返回值 5。
注意: 整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。
函数调用将被返回值取代:myVar 变量的值是 5,也就是函数 “myFunction()” 所返回的值。

七、JavaScript 作用域

在 JavaScript 中, 对象和函数同样也是变量。
在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。
JavaScript 函数作用域: 作用域在函数内修改。

1、JavaScript 局部作用域

变量在函数内声明,变量为局部作用域。
局部变量:只能在函数内部访问。

  1. <script>
  2. function myFun(){
  3. let a = 5;
  4. console.log(a);//5
  5. }
  6. </script>

因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。
局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。

2、JavaScript 全局变量

变量在函数外定义,即为全局变量。
全局变量有 全局作用域: 网页中所有脚本和函数均可使用。

  1. <script>
  2. let a = 5;
  3. function myFun(){
  4. console.log(a);//5
  5. }
  6. myFun();
  7. console.log(a);//5
  8. </script>

八、JavaScript 闭包

闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰。直观的说就是形成一个不销毁的栈环境。

1、闭包的3个特性:

1..函数嵌套函数
2.函数内部可以引用函数外部的参数和变量
3.参数和变量不会被垃圾回收机制回收

2、闭包的两个条件

1.父子函数
2.自由变量

  1. <script>
  2. // 父函数
  3. function parent(a) {
  4. // 子函数
  5. function f(b) {
  6. // b 外部参数
  7. // c 是私有变量
  8. // b,c 都是当前子函数 f 的自有变量
  9. let c = 6;
  10. // a : 是子函数 f 的自由变量
  11. return a + b + c;
  12. }
  13. // 返回
  14. return f;
  15. }
  16. // 这个时候,在外部调用parent()会返回 一个函数,此时闭包就产生了
  17. console.log(parent(5));
  18. // parent()调用结束,应该将空间和参数全部释放
  19. // 但是父函数parent中的一个变量a,被 它的一个子函数正在引用着,所以不能销毁
  20. const f1 = parent(5);
  21. console.log(f1);
  22. console.log(f1(8));
  23. </script>

3、实例

  1. <p>局部变量计数。</p>
  2. <button type="button" onclick="myFun()">计数</button>
  3. <p id="demo">0</p>
  4. <script>
  5. let add = (function () {
  6. let num = 0;//私有变量
  7. // 返回
  8. return function(){ return num += 1; }
  9. })();
  10. function myFun() {
  11. document.getElementById("demo").innerHTML = add();
  12. }
  13. </script>

实例解析

变量 add 指定了函数自我调用的返回字值。
自我调用函数只执行一次。设置计数器为 0。并返回函数表达式。
add变量可以作为一个函数使用。非常棒的部分是它可以访问函数上一层作用域的计数器。
这个叫作 JavaScript 闭包。它使得函数拥有私有变量变成可能。
计数器受匿名函数的作用域保护,只能通过 add 方法修改。

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