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>

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 方法修改。

更多相关文章

  1. JavaScript快速入门
  2. PHP-03变量与常量
  3. PHP变量类型及类型转换
  4. php常用字符串函数
  5. 项目中全局变量的灵活用法
  6. 接口管理进阶-环境变量的使用
  7. 你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?
  8. PHP文件上传函数封装
  9. php上传函数封装

随机推荐

  1. Asf PHP开发之配置信息常驻系统内存
  2. 用PHP实现一个简易版文件上传功能(超详细
  3. php中如何响应button的onclick事件
  4. PHP中echo与print语句的实例教程
  5. PHP中删除网站旧照片的实例教程
  6. PHP中phar包的使用
  7. 利用PHP和百度ai实现文本以及图片的审核
  8. 关于php的打包 解包 Phar
  9. PHP制作的掷色子点数抽奖游戏实例(代码)
  10. php中static关键字的理解