从零开始学习JavaScript:轻松掌握编程语言的核心技能②

news2024/11/14 14:40:10

从零开始学习JavaScript:轻松掌握编程语言的核心技能②

  • 一,JavaScript 函数
    • 1.1 JavaScript 函数语法
    • 1.2 局部 JavaScript 变量
    • 1.3 全局 JavaScript 变量
  • 二,JavaScript 作用域
    • 2.1JavaScript 局部作用域
  • 三,JavaScript 事件
    • 3.1HTML 事件
  • 四,JavaScript 字符串
    • 4.1特殊字符
    • 4.2字符串属性
    • 4.3字符串方法
  • 五,JavaScript 运算符
    • 5.1JavaScript 算术运算符
    • 5.2JavaScript 赋值运算符

🏘️🏘️个人简介:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主
🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读!


一,JavaScript 函数

📜 📜 JavaScript 函数是一段可以被重复调用的代码块。它可以接收输入参数,处理这些参数,然后返回输出结果。函数可以在代码中任何地方被定义,也可以在需要的时候被调用。

📌函数定义的一般语法如下:

function functionName(parameters) {
  // code to be executed
  return output;
}

其中,functionName 是函数的名称,parameters 是函数的输入参数,// code to be executed
是函数要执行的代码,return output 是函数返回的输出结果。

📌例如,下面这个函数接收两个参数 a 和 b,将它们相加并返回结果:

function add(a, b) {
  return a + b;
}

📌函数可以通过以下方式被调用:

var result = add(2, 3); // result = 5

这里,add(2, 3) 调用了函数 add,并将参数 2 和 3 传递给它。函数执行后返回结果 5,被赋值给变量 result。

1.1 JavaScript 函数语法

📌JavaScript 函数的语法如下:

function functionName(parameter1, parameter2, parameter3) {
  // 函数体
  return result;
}

其中:

  • function 是关键字,用于定义函数。
  • functionName 是函数的名称,可以自定义,遵循标识符的命名规范。
  • parameter1, parameter2, parameter3 是函数的参数列表,用逗号分隔,每个参数可以是任意表达式,也可以为空。
  • {} 中是函数体,包含了一系列语句,用于完成函数的特定任务。
  • return 语句用于从函数中返回值,可以返回任何类型的值,也可以不返回值。

📌下面是一个简单的 JavaScript 函数示例:

function add(a, b) {
  return a + b;
}

这个函数名为 add,接收两个参数 a 和 b,返回它们的和。

📌函数定义后,可以通过函数名来调用它:

var result = add(1, 2);
console.log(result); // 输出 3

这里将 1 和 2 作为参数传递给 add 函数,函数返回它们的和 3,被赋值给变量 result,然后通过 console.log 输出。

1.2 局部 JavaScript 变量

📜 📜 在 JavaScript 中,局部变量是在函数内部声明的变量,只能在函数内部使用。使用 var 关键字声明的变量是局部变量,例如:

function myFunction() {
  var x = 10;
  console.log(x);  // 输出 10
}

在上面的代码中,变量 x 是在函数 myFunction
中声明的局部变量。只能在函数内部使用,如果在函数外部尝试访问它,会得到一个未定义的错误。

console.log(x);  // 报错:x is not defined

📌在函数内部,可以声明多个局部变量:

function myFunction() {
  var x = 10;
  var y = 20;
  var z = x + y;
  console.log(z);  // 输出 30
}

在函数执行完毕后,局部变量的值会被销毁,因此不能在函数外部访问它们。这也是为什么函数内部的变量被称为局部变量的原因。

1.3 全局 JavaScript 变量

📜 📜 在 JavaScript 中,全局变量是在函数外部声明的变量,可以在任何地方使用。如果在函数内部使用全局变量,需要使用 global 对象来访问它们。

var x = 10;

function myFunction() {
  console.log(global.x);  // 输出 10
}

在上面的代码中,变量 x 是全局变量,可以在函数内外使用。如果在函数内部使用它,需要使用 global 对象来访问它。

📌如果在函数内部声明一个变量,但没有使用 var 关键字,那么这个变量会成为全局变量。

function myFunction() {
  y = 20;
}

myFunction();
console.log(y);  // 输出 20

在上面的代码中,变量 y 是在函数内部声明的,但没有使用 var 关键字,因此成为了全局变量。在函数外部可以访问它。

二,JavaScript 作用域

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

2.1JavaScript 局部作用域

📜 📜 在 JavaScript 中,局部作用域是在函数内部声明的变量所拥有的作用域范围。

📌在函数内部声明的变量只能在该函数内部访问,无法在函数外部访问。这是因为 JavaScript 中的变量作用域是基于函数的。

function myFunction() {
  var x = 10;
  console.log(x);  // 输出 10
}

myFunction();
console.log(x);  // 报错:x is not defined

在上面的代码中,变量 x 是在函数 myFunction 内部声明的局部变量。只能在函数内部访问,无法在函数外部访问。

📌需要注意的是,如果在函数内部没有使用 var 关键字声明变量,那么该变量会自动成为全局变量。

function myFunction() {
  y = 20;
}

myFunction();
console.log(y);  // 输出 20

在上面的代码中,变量 y 是在函数内部声明的,但没有使用 var 关键字。因此,它成为了全局变量,可以在函数外部访问。

三,JavaScript 事件

3.1HTML 事件

📜 📜 HTML 事件是指在 HTML 元素上发生的动作或事件,例如用户单击按钮、页面加载完成等。JavaScript 可以通过事件来响应用户的操作,例如单击按钮时执行一段 JavaScript 代码。

📌以下是一些常见的 HTML 事件:

  • onclick:用户单击元素时触发
  • onload:页面加载完成时触发
  • onsubmit:表单提交时触发
  • onfocus:元素获取焦点时触发
  • onblur:元素失去焦点时触发
  • onmouseover:鼠标移动到元素上方时触发
  • onmouseout:鼠标移出元素时触发

📌要使用 HTML 事件,可以在 HTML 元素上添加相应的属性,并将其设置为 JavaScript 代码。
例如,以下代码在按钮上添加了 onclick 事件:

<button onclick="myFunction()">Click me</button>

在上面的代码中,单击按钮时会调用名为 myFunction 的 JavaScript 函数。

可以使用 JavaScript 来动态地添加和删除事件处理程序,例如:

var btn = document.getElementById('myBtn');
btn.addEventListener('click', myFunction);
btn.removeEventListener('click', myFunction);

在上面的代码中,使用 addEventListener 方法向按钮添加单击事件处理程序,使用 removeEventListener
方法从按钮中删除单击事件处理程序

四,JavaScript 字符串

📜 📜 JavaScript 中的字符串是一串文本,可以包含字母、数字、符号和空格。字符串可以使用单引号或双引号表示

// 使用单引号表示字符串
var str1 = 'Hello, world!';

// 使用双引号表示字符串
var str2 = "Hello, world!";

📌可以使用字符串连接运算符(+)将两个或多个字符串连接起来:

var str1 = 'Hello';
var str2 = 'world';
var str3 = str1 + ' ' + str2;  // 输出 'Hello world'

📌可以使用字符串长度属性 length 获取字符串的长度:

var str = 'Hello, world!';
console.log(str.length);  // 输出 13

📌字符串还支持一些常用的方法,例如:

  • toUpperCase():将字符串转换为大写字母
  • toLowerCase():将字符串转换为小写字母
  • charAt():返回指定位置的字符
  • substring():返回指定位置之间的子字符串
  • indexOf():返回指定字符或子字符串的位置
  • replace():替换指定的字符或子字符串
var str = 'Hello, world!';
console.log(str.toUpperCase());  // 输出 'HELLO, WORLD!'
console.log(str.charAt(0));  // 输出 'H'
console.log(str.substring(0, 5));  // 输出 'Hello'
console.log(str.indexOf('world'));  // 输出 7
console.log(str.replace('world', 'JavaScript'));  // 输出 'Hello, JavaScript!'

4.1特殊字符

📜 📜 在编程中,有些字符是特殊的,需要使用转义字符来表示它们。以下是一些常见的特殊字符及其转义字符:

':单引号
":双引号
\:反斜杠
\n:换行符
\r:回车符
\t:制表符

例如,要在字符串中表示一个双引号,可以使用转义字符 ":

var str = "She said, \\"Hello!\\"";

要在字符串中表示一个换行符,可以使用转义字符 \n:

var str = "Line 1\nLine 2";

要在字符串中表示一个反斜杠,需要使用两个反斜杠 \:

var str = "C:\\Windows\\System32";

📌需要注意的是,JavaScript 中的字符串是不可变的,即一旦创建,就无法更改。如果需要更改字符串,需要创建一个新的字符串。
例如,以下代码将创建一个新的字符串,其中原始字符串的前两个字符被替换为 JS:

var str = 'JavaScript';
var newStr = 'JS' + str.substring(2);  // 输出 'JSvascript'

4.2字符串属性

在这里插入图片描述

4.3字符串方法

📜 📜 JavaScript 字符串有很多内置方法,可以用于操作和处理字符串。以下是一些常用的字符串方法:
在这里插入图片描述

length:返回字符串的长度。

var str = 'Hello, world!';
console.log(str.length);  // 输出 13

toUpperCase():将字符串转换为大写字母。

var str = 'Hello, world!';
console.log(str.toUpperCase());  // 输出 'HELLO, WORLD!'

toLowerCase():将字符串转换为小写字母。

var str = 'Hello, world!';
console.log(str.toLowerCase());  // 输出 'hello, world!'

charAt():返回指定位置的字符。

var str = 'Hello, world!';
console.log(str.charAt(0));  // 输出 'H'

substring():返回指定位置之间的子字符串。

var str = 'Hello, world!';
console.log(str.substring(0, 5));  // 输出 'Hello'

indexOf():返回指定字符或子字符串的位置。

var str = 'Hello, world!';
console.log(str.indexOf('world'));  // 输出 7

lastIndexOf():返回指定字符或子字符串最后出现的位置。

var str = 'Hello, world!';
console.log(str.lastIndexOf('o'));  // 输出 8

replace():替换指定的字符或子字符串。

var str = 'Hello, world!';
console.log(str.replace('world', 'JavaScript'));  // 输出 'Hello, JavaScript!'

split():将字符串分割成子字符串数组。

var str = 'Hello, world!';
console.log(str.split(','));  // 输出 ['Hello', ' world!']

trim():去掉字符串两端的空格。

var str = '   Hello, world!   ';
console.log(str.trim());  // 输出 'Hello, world!'

五,JavaScript 运算符

5.1JavaScript 算术运算符

📜 📜 JavaScript 中的算术运算符用于执行数学运算,例如加法、减法、乘法和除法。
以下是一些常见的算术运算符

  • +:加法运算符,用于将两个值相加。
  • -:减法运算符,用于将一个值减去另一个值。
  • *:乘法运算符,用于将两个值相乘。
  • /:除法运算符,用于将一个值除以另一个值。
  • %:求余运算符,用于返回两个值相除的余数。
  • ++:自增运算符,用于将变量的值加一。
  • –:自减运算符,用于将变量的值减一。

以下是一些示例:

var a = 10;
var b = 5;

// 加法
var c = a + b;
console.log(c);  // 输出 15
// 减法
var d = a - b;
console.log(d);  // 输出 5
// 乘法
var e = a * b;
console.log(e);  // 输出 50
// 除法
var f = a / b;
console.log(f);  // 输出 2
// 求余
var g = a % b;
console.log(g);  // 输出 0
// 自增
a++;
console.log(a);  // 输出 11
// 自减
b--;
console.log(b);  // 输出 4

5.2JavaScript 赋值运算符

📜 📜 JavaScript 中的赋值运算符用于将值赋给变量
以下是一些常见的赋值运算符:

  • =:等于号,用于将右侧的值赋给左侧的变量。
  • +=:加等于号,用于将右侧的值加上左侧的变量的值,并将结果赋给左侧的变量。
  • -=:减等于号,用于将左侧的变量的值减去右侧的值,并将结果赋给左侧的变量。
  • *=:乘等于号,用于将左侧的变量的值乘以右侧的值,并将结果赋给左侧的变量。
  • /=:除等于号,用于将左侧的变量的值除以右侧的值,并将结果赋给左侧的变量。
  • %=:求余等于号,用于将左侧的变量的值除以右侧的值的余数,并将结果赋给左侧的变量。

以下是一些示例:

var a = 10;
var b = 5;

// 等于号
a = b;
console.log(a);  // 输出 5
// 加等于号
a += b;
console.log(a);  // 输出 10
// 减等于号
a -= b;
console.log(a);  // 输出 5
// 乘等于号
a *= b;
console.log(a);  // 输出 25
// 除等于号
a /= b;
console.log(a);  // 输出 5
// 求余等于号
a %= b;
console.log(a);  // 输出 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/594488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——磁盘文件的理解 + inode详解 + 软硬链接 +动静态库

索引 磁盘文件的理解inode软硬链接动静态库理解动态链接与地址无关生成动静态库使用静态库使用动态库动态链接再次理解&#xff01; 磁盘文件的理解 之前讲述的都是内存级的文件&#xff0c;但是系统中最多的还是磁盘级的文件&#xff0c;大量的文件自然也需要被管理&#xff…

【算法】08 耦合 Lorenz 63 模式的参数估计实验

摘要 本实验通过建立基于耦合 Lorenz 63 模式的孪生实验框架&#xff0c;使用集合调整卡尔曼滤波器EAKF实现参数估计&#xff0c;测试参数估计开始的不同阶段、观测误差、同化频率、协方差膨胀等方法细节对于参数估计结果的影响。 耦合 Lorenz 63 模式 Lorenz 63 模式是Lore…

Postman实战:轻松搞定接口自动化测试

随着移动互联网的发展&#xff0c;接口自动化测试已经成为软件测试领域中不可或缺的一部分。而作为最流行的API开发工具之一&#xff0c;Postman凭借其简单易用、功能强大的特点赢得了越来越多开发者和测试人员的青睐。 想要掌握Postman的接口自动化测试技能&#xff0c;只需要…

JDK 下载与安装

首先下载 jdk 最新版本。可以去 http://java.sun.com/j2se/1.4.2/download.html 版本一&#xff1a;适合 win7oracle 版本 java 下载最新的 jdk 版本&#xff0c; 打开界面后。选择 J2SE v 1.4.2_08 SDK 拦目下面的 Download J2SE SDK&#xff0c; 然后选择 Accept License…

6设计指令流水线-3【FPGA模型机课程设计】

6设计指令流水线-3【FPGA模型机课程设计】 前言推荐6设计指令流水线-3安排测试与结果 指令流水线理论MIPS的一种简单实现基本的MIPS流水线 指令流水线实现MIPS五段流水CPU设计 基于单周期CPU的流水线设计乘除流水线的设计原子流水线的设计代码设计EX_Mem 附录0 框架 最后 前言 …

理论+实操|一文掌握 RFM 模型在客户数据洞察平台内的落地实战

确定用户价值是整个用户运营过程中极其重要的一环。传统的工作流程中&#xff0c;业务人员向数据部门提出数据需求&#xff0c;等待返回结果后再进行价值分析是主要的准备工作&#xff0c;但这个过程非常耗时。为了提高工作效率&#xff0c;业务人员经常会基于自己对用户的理解…

链表【+逆序链表】、循环队列、堆栈讲解(链表头和尾插法)

文章目录 一、链表&#xff08;1&#xff09;链表简单介绍&#xff08;2&#xff09;链表的创建&#xff08;3&#xff09;数据的插入【1】头插法【2】尾插法 &#xff08;4&#xff09;链表的删除&#xff08;5&#xff09;源代码实现 二、队列&#xff08;循环队列&#xff0…

热闹炸了,公司居然公然鼓励员工玩游戏

池塘边的榕树上&#xff0c;知了在声声叫着夏天&#xff0c;操场边的秋千上&#xff0c;只有蝴蝶停在上面..........每逢儿童节到来之时&#xff0c;东东总是会回想起儿时的自己&#xff0c;面对那即将到来的节日&#xff0c;兴奋异常。 因为在这一天全校会给我们放上一天假&am…

Android进阶之路 - 字体阴影、文字阴影

最近几个月都挺忙&#xff0c;忙着工作&#xff0c;忙着成长… 一直以来我认为在开发中首当其冲的肯定是需求、功能&#xff0c;然后才是UI细节&#xff1b;所以我自己一般不太会去深究一些看不明显的UI&#xff0c;不过这俩日同事提醒我文字有阴影效果&#xff0c;细看之下果然…

Java000——超好用的工具推荐

下面介绍工具直接安装即可&#xff0c;基本上都是一路next&#xff08;有需要选择安装路径则选择自己的安装目录即可&#xff09; Everything Everything用于搜索电脑本地文件、文件夹&#xff0c;快速高效 下载地址 Snipaste截图工具 下载地址 notepad 轻量级文本编写查看…

C++11 右值引用

文章目录 一. 左值&#xff1f;右值&#xff1f;二. 右值引用的使用三. 万能引用&完美转发四. 移动构造&移动赋值结束语 一. 左值&#xff1f;右值&#xff1f; C中&#xff0c;对于左值&#xff0c;右值&#xff0c;我们可能会理解为 赋值符号左边是左值&#xff0c…

木棒 DFS经典题 剪枝优化 满注释版 java

&#x1f351; 算法题解专栏 &#x1f351; 题目地址 乔治拿来一组等长的木棒&#xff0c;将它们随机地砍断&#xff0c;使得每一节木棍的长度都不超过 50 50 50 个长度单位。 然后他又想把这些木棍恢复到为裁截前的状态&#xff0c;但忘记了初始时有多少木棒以及木棒的初始…

【数据结构与算法】最小生成树之普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法

&#x1f331;博客主页&#xff1a;大寄一场. &#x1f331;系列专栏&#xff1a;数据结构与算法 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 目录 前言 一、最小生成树的概念 二、最小生成树的求解方法 三、练习题 四、最小生成树在实际应用中的例…

返回类对象时,什么时候调用拷贝构造函数,什么时候会进行返回值优化(RVO)

#include<iostream> using namespace std;class Person { public:Person(){}Person(int age){m_Age age;}Person(const Person& p){cout << "拷贝构造函数" << endl;}Person fun(){cout << "fun this" << " "…

一步步教你如何剪辑出专业水平的视频

1. 视频字幕制作。媒体梦工厂软件提供了强大的字幕制作功能&#xff0c;可以自主设计字幕的颜色、大小、字体等属性&#xff0c;使字幕更加具有视觉冲击力。"媒体梦工厂软件是一款广受欢迎的影视后期制作软件&#xff0c;自从软件发布以来在行业内有着广泛的应用。本文将会…

使用redis模拟手机验证码发送及消费者与生产者案例

规定一个手机号一天只能请求三次验证码&#xff0c;且每次请求的验证码只有一分钟就会过期 package com.doit.demo;import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool;import java.util.Random; import java.util.Scanner;public class PhoneNum {publ…

Spark基础入门篇 | MapReduce原理 + Spark原理 + PySpark环境搭建 + 简单实战

&#x1f604; 之前简单了解过Spark&#xff0c;并简单用别人的代码跑过pyspark的数据处理和模型的分布式推理&#xff0c;但没做系统的总结&#xff0c;那这篇博客就对Spark做个基础入门讲解&#xff0c;看完基本就算基础入门了&#xff0c;后面再实操就会轻松一些。 文章目录…

Windows本地提权 · 下篇

Windows本地提权&#xff0c;这种提权适用于有一本地个用户的基础上&#xff0c;有一定的权限&#xff0c;无法从webshell上进行提权 目录 BypassUAC提权 原理 关于UAC MFS绕过提权 UAC等级为低绕过测试 UAC等级为中绕过测试 UAC等级为高绕过测试 注意&#xff1a;bypa…

【综述】视频无监督域自适应(VUDA)的小综述

【综述】视频无监督域自适应&#xff08;VUDA&#xff09;的小综述 一篇小综述&#xff0c;大家看个乐子就好&#xff0c;参考文献来自于一篇综述性论文 链接&#xff1a;https://arxiv.org/abs/2211.10412 这次基于三篇有代表性的文章来讲解 X. Song, S. Zhao, J. Yang, H.…

第十篇、基于Arduino uno,用LCD1602(不带IIC的)显示屏显示字符——结果导向

0、结果 说明&#xff1a;可以在LCD1602屏幕上面显示字符&#xff0c;实时的变量&#xff0c;如果是你想要的&#xff0c;可以接着往下看。 1、外观 说明&#xff1a;注意是不带IIC通讯的LCD屏幕&#xff0c;外形如下。 2、连线 说明&#xff1a;需要连接十几根线。 uno——…