JavaScript 入门手册(一)

目录

一、JavaScript 是什么?

1.1 JavaScript 介绍

1.2 JavaScript 与 ECMAScript 的关系

1.3 JavaScript 是脚本语言

1.4 JavaScript 的特点

1.5 运行 JavaScript

1.6 保留关键字

二、Node.js 是什么?

2.1 运行时是什么?

2.2 Node.js 的组成

小结

三、JavaScript 用法

3.1 body标签 中的 JavaScript 函数

3.2 head标签 中的 JavaScript 函数

3.3 外部引用 JavaScript

3.3.1 创建外部的 JavaScript 文件(例如:externalFirstFun.js):

3.3.2 引入外部的 JavaScript 文件

四、JavaScript 输出

4.1 使用 window.alert()

4.2 使用 console.log()

五、JavaScript 语法

5.1 JavaScript 字面量

5.2 JavaScript 变量

5.3 JavaScript 操作符

5.4 JavaScript 字母大小写

5.5 JavaScript 字符集

5.5.1 Unicode 字符集

5.5.2 HTML5 标准:Unicode UTF-8

六、JavaScript 语句

6.1 分号 ;

6.2 JavaScript 语句标识符

6.3 空格

6.4 对代码行进行折行

七、JavaScript 注释

相关推荐


一、JavaScript 是什么?

JavaScript 是 web 开发人员必须学习的 3 门语言中的一门:

  • HTML 定义了网页的内容

  • CSS 美化了网页的仰视

  • JavaScript 控制了网页的行为

1.1 JavaScript 介绍

        JavaScript(简称“JS”)是一种轻量级的面向对象的编程语言,既能用在浏览器中控制页面交互,也能用在服务器端作为网站后台(借助 Node.js),因此 JavaScript 是一种全栈式的编程语言。

        JavaScript 是一种跨平台的解释型语言,不需要提前编译,能在各种操作系统下运行。

1.2 JavaScript 与 ECMAScript 的关系

        ECMAScript(简称“ES”)是根据 ECMA-262 标准实现的通用脚本语言,ECMA-262 标准主要规定了这门语言的语法、类型、语句、关键字、保留字、操作符、对象等几个部分,目前 ECMAScript 的最新版是 ECMAScript6(简称“ES6”)。

        至于 JavaScript,有时人们会将 JavaScript 与 ECMAScript 看作是相同的,其实不然,JavaScript 中所包含的内容远比 ECMA-262 中规定的多得多,完整的 JavaScript 是由以下三个部分组成:

  • 核心(ECMAScript):提供语言的语法和基本对象;

  • 文档对象模型(DOM):提供处理网页内容的方法和接口;

  • 浏览器对象模型(BOM):提供与浏览器进行交互的方法和接口。

1.3 JavaScript 是脚本语言

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

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

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

  • JavaScript 很容易学习。

1.4 JavaScript 的特点

  • 解释型语言: JavaScript是一种解释型语言,不需要编译成可执行代码,而是由解释器逐行解释执行。

  • 动态类型: JavaScript是一种动态类型语言,变量的类型在运行时可以动态确定,不需要在编写代码时显式声明类型。

  • 基于原型的语言: JavaScript中的对象是基于原型的,而不是基于类的。对象可以直接从其他对象继承属性。

  • 事件驱动: JavaScript常用于处理与用户交互的事件,例如点击、滚动、输入等。

  • 异步编程: JavaScript支持异步编程模式,通过回调函数、Promise、async/await等机制处理异步操作,如网络请求、文件读写等。

  • 跨平台性: JavaScript能够在各种平台上运行,包括Web浏览器、服务器端、移动应用等。

  • 脚本语言: JavaScript通常用作网页的脚本语言,用于增强网页的交互性和动态性。

  • 弱类型语言: JavaScript是一种弱类型语言,对变量的类型转换较为灵活,但也容易导致一些隐式类型转换的问题。

  • 丰富的生态系统: JavaScript拥有丰富的第三方库和框架,如React、Vue、Angular等,以及用于构建后端服务的Node.js等。

  • 与HTML和CSS的集成: JavaScript可以与HTML和CSS无缝集成,通过DOM操作实现网页内容和样式的动态变化。

        这些特点使得JavaScript成为一种广泛应用于Web开发、服务器端开发和移动应用开发等领域的重要编程语言。

1.5 运行 JavaScript

        作为一种脚本语言,JavaScript 代码不能独立运行,通常情况下我们需要借助浏览器来运行 JavaScript 代码,所有 Web 浏览器都支持 JavaScript。

        除了可以在浏览器中执行外,也可以在服务端或者搭载了 JavaScript 引擎的设备中执行 JavaScript 代码,浏览器之所以能够运行 JavaScript 代码就是因为浏览器中都嵌入了 JavaScript 引擎,常见的 JavaScript 引擎有:

  • V8:由Google开发,用于Chrome浏览器和Node.js等项目。

  • SpiderMonkey:由Mozilla开发,用于Firefox浏览器。

  • JavaScriptCore:由苹果开发,用于Safari浏览器和WebKit引擎。

  • Chakra:由Microsoft开发,用于Edge浏览器。

  • Rhino:由Mozilla基金会开发,是一个用Java编写的JavaScript引擎。

  • Nashorn:由Oracle开发,是一个用Java编写的JavaScript引擎,替代了Rhino,从JDK 8开始提供。

  • JerryScript:一个轻量级的JavaScript引擎,专为嵌入式系统和物联网设备设计。

  • QuickJS:由Fabrice Bellard开发,是一个快速、小巧的JavaScript引擎。

1.6 保留关键字

关键字按字母顺序帅次嘿嘿嘿
abstractelseinstanceofsuper
booleanenumintswitch
booleanenumintswitch
breakexportinterfacesynchronized
byteextendsletthis
casefalselongthrow
catchfinalnativethrows
charfinallynewtransient
classfloatnulltrue
const forpackagetry
continuefunctionprivatetypeof
debuggergotoprotectedvar
defaultifpublicvoid
deleteimplementsreturnvolatile
doimportshortwhile
doubleinstaticwith

二、Node.js 是什么?

        JavaScript 诞生于 1995 年,几乎是和互联网同时出现;Node.js 诞生于 2009 年,比 JavaScript 晚了 15 年左右。

        在 Node.js 之前,JavaScript 只能运行在浏览器中,作为网页脚本使用,为网页添加一些特效,或者和服务器进行通信。

        有了 Node.js 以后,JavaScript 就可以脱离浏览器,像其它编程语言一样直接在计算机上使用,想干什么就干什么,再也不受浏览器的限制了。

        Node.js 不是一门新的编程语言,也不是一个 JavaScript 框架,它是一套 JavaScript 运行环境,用来支持 JavaScript 代码的执行。用编程术语来讲,Node.js 是一个 JavaScript 运行时(Runtime)

JavaScript 和 Node.js 的关系:

  • Netscape 浏览器衍生出了 JavaScript 脚本,赋予网页编程能力;

  • Chrome 浏览器衍生了 V8 引擎,提高了 JavaScript 性能;

  • V8 引擎构建了 Node.js,拓展了 JavaScript 的编程能力;

  • Node.js 衍生了 Libuv 库,给网络开发增加了一款优秀的工具。

        Node.js 就是给 JavaScript 加持的Buff。

2.1 运行时是什么?

        所谓运行时,就是程序在运行期间需要依赖的一系列组件或者工具;把这些工具和组件打包在一起提供给程序员,程序员就能运行自己编写的代码了。

对于 JavaScript 来说,它在运行期间需要依赖以下组件:

  • 1.解释器:JavaScript 是一种脚本语言,需要一边解释一边运行,用到哪些源代码就编译哪些源代码,整个过程由解释器完成。没有解释器的话,JavaScript 只是一堆纯文本文件,不能被计算机识别。

  • 2.标准库:我们在 JavaScript 代码中会调用一些内置函数,这些函数不是我们自己编写的,而是标准库自带的。

  • 3.本地模块:所谓本地模块,就是已经被提前编译好的模块,它们是二进制文件,和可执行文件在内部结构上没有什么区别,只是不能单独运行而已。这些本地模块其实就是动态链接库(在 Windows 下是 .dll 文件),如果你使用过C语言、C++ 等编译型语言,那你应该能够更好地理解它。

JavaScript 的很多功能都需要本地模块的支持,比如:

  • Cookie 用于存储少量的用户数据,它是用户计算机上的一种小文件,使用 Cookie 必须有文件操作模块的支持。

  • Ajax 可以借助互联网从服务器请求数据,这是一种网络操作,必须有网络库的支持。

  • 一步一步跟踪代码的执行流程,从中发现逻辑错误,这个过程叫做调试,需要有调试器(Debugger)的支持。

  • JavaScript 可以操作 HTML,这需要 HTML 解析模块提前构建起 DOM 树。

        本地模块一般封装了通用功能,对性能要求较高,所以通常使用编译型语言来实现,比如C语言、C++、汇编语言等。

        JavaScript 解释器需要本地模块的支持,标准库在编写时也会调用本地模块的接口,而我们编写的 JavaScript 代码一般不会直接使用本地模块,所以 Web 前端程序员触及不到它们。

        本地模块是幕后英雄,它不显山露水,但是又不可或缺。

        解释器、标准库、本地模块等各种组件/工具共同支撑了 JavaScript 代码的运行,它们统称为 JavaScript 运行时。

        在 Node.js 之前,JavaScript 运行时被绑定在浏览器中,作为浏览器的各种模块出现。这意味着,要想运行 JavaScript 代码就必须启动浏览器,JavaScript 逃不出浏览器的手掌心,它的功能受到很大的限制,只能作为网页脚本使用。

2.2 Node.js 的组成

        Node.js 运行时主要由 V8 引擎、标准库和本地模块组成,尤其是本地模块的多少,从底层决定了 Node.js 功能的强弱。

  • 1.V8 引擎
    • V8 引擎就是 JavaScript 解释器,它负责解析和执行 JavaScript 代码。

    • V8 引擎借鉴了 Java 虚拟机和 C++ 编译器的众多技术,它将 JavaScript 代码直接编译成原生机器码,并且使用了缓存机制来提高性能,这使得 JavaScript 的运行速度可以媲美二进制程序。

  • 2.本地模块:Node.js 集成了众多高性能的开源库,它们使用 C/C++ 语言实现,比如:

模块说明
libuv一个跨平台的、基于事件驱动的异步 I/O 库。但是 libuv 不仅限于 I/O,它还提供了进程管理、线程池、信号处理、定时器等其它功能。
Linux中一切皆文件,这里的 I/O 不仅仅包括文件读写,还包括数据库读写、网络通信(socket)等。
nmpNode.js 包管理器,可以下载包、安装包、卸载包、更新包、上传包等。
http_parser一款由C语言编写的轻量级 HTTP 解析器,用以支持 Web 应用开发。
zlib工业级的数据压缩/解压模块,Nodejs 借助 zlib 来创建同步、异步或者流式的压缩/解压接口。
OpenSSL该模块提供了经过严密测试的许多加密/解密功能,现代 Web 依赖这些功能来实现安全性,比如 SSL 协议和 https 协议。
c-ares异步 DNS 查询和解析库。

        Node.js 直接在计算机上运行 JavaScript 代码,并且要赋予 JavaScript 强大的能力,所以它的本地模块和浏览器中的运行时有很多大区别,甚至说几乎没有什么关联。Node.js 几乎完全抛弃了浏览器,自己从头构建了一套全新的 JavaScript 运行时。

  • 3.标准库:本地模块使用 C/C++ 编写,而 Node.js 面向 JavaScript 开发人员,所以必须要封装本地模块的 C/C++ 接口,提供一套优雅的 JavaScript 接口给开发人员,并且要保持接口在不同平台(操作系统)上的一致性。

这套 JavaScript 接口,就是 Node.js 标准库。标准库是否优雅和强大,决定了 Node.js 的易用性,直接影响 Node.js 的市场表现。

小结

        V8 引擎和众多本地模块都是现成的,别人已经造好了轮子,Node.js 的主要工作就是选择合适的模块,将它们集成在一起,并编写好 JavaScript 接口。

        当然,并不是所有的本地模块都能找到合适的,Node.js 也自己编写了几个模块,典型的代表就是 Libuv。Libuv 是 Node.js 最核心最基础的模块,Node.js 完全基于 Libuv 而构建。

        你可能听说过 Node.js 采用了基于事件的、单线程的异步 I/O 架构,这是 Node.js 最大的特点,也是它和其它脚本语言最大的区别,Node.js 的这种能力就是依赖 Libuv 实现的。

Libuv 如此强大,官方决定将它从 Node.js 中剥离出来,作为一个单独的网络库发布,并且开源免费。现在的 Libuv 已经变得非常流行,和传统的 Libevent 和 libev 库并称为“C/C++ 三大网络库”。

        Node.js 之所以大名鼎鼎,主要是因为它采用了 V8 引擎和 Libuv 库:V8 引擎保证了 Node.js 运行高效,Libuv 库提供了基于事件循环的异步 I/O 能力。

三、JavaScript 用法

        HTML 中的 Javascript 脚本代码必须位于 <script> 与 </script> 标签之间, <script> 和 </script> 会告诉 JavaScript 在何处开始和结束。

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

3.1 body标签 中的 JavaScript 函数

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>初识JavaScript</title>
</head><body><h2>此处为 body 开始,JavaScript 能够直接写入 HTML 输出流中:</h2><script>document.write("<p>JavaScript 是 Web 的编程语言。</p>");document.write("<p>所有现代的 HTML 页面都可以使用 JavaScript。</p>");document.write("<p> JavaScript 非常容易学。</p>");</script><h2>此处为 body 即将结束。</h2></body></html>

3.2 head标签 中的 JavaScript 函数

        在 HTML 文档中放入不限数量的脚本

        脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。

        通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容

        我们把一个 JavaScript 函数(sccFun)放置到 HTML 页面的 <head> 部分 试试:

<head><script>function sccFun() {document.getElementById("demo").innerHTML = "第一个 JavaScript 函数";}</script>
</head><body><h1>此处为 body 开始:</h1><p id="demo">此处id 为 demo 的段落即将改变</p><button type="button" onclick="sccFun()">点击这里</button><h2>此处为 body 即将结束。</h2>
</body>

3.3 外部引用 JavaScript

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

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

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

3.3.1 创建外部的 JavaScript 文件(例如:externalFirstFun.js):

document.getElementById("externalDemo").innerHTML = "你好,这是来自外部的 JavaScript 文件!";

3.3.2 引入外部的 JavaScript 文件

<body><p id="externalDemo">此处 id 为externalDemo 的段落即将改变</p><script src="js/externalFirstFun.js"></script>
</body>

四、JavaScript 输出

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

  • 使用 window.alert() 弹出警告框。

  • 使用 document.write() 方法将内容写到 HTML 文档中(3.1中已使用)。

  • 使用 innerHTML 写入到 HTML 元素(3.2和3.3.1中已使用)。

  • 使用 console.log() 写入到浏览器的控制台。

4.1 使用 window.alert()

        弹出警告框来显示数据:

<head>......<script>function funAlert() {window.alert("弹弹弹,弹走小豆豆");}</script>
</head>
<body><button type="button" onclick="funAlert()">点击这里 显示alert</button>
</body>

4.2 使用 console.log()

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

        浏览器中启用调试模式(F12,Ctrl + Shift + I (Windows) 或Cmd + Opt + I (Mac) 页面右键菜单“检查”,浏览器菜单“开发者工具”), 在调试窗口中点击 "Console" 菜单。

<head><script>function funAlert() {console.log("funAlert-弹弹弹,弹走小豆豆");window.alert("弹弹弹,弹走小豆豆");}</script>
</head><body><h1>此处为 body 开始:</h1><script>console.log("此处为 body 开始:");</script><button type="button" onclick="funAlert()">点击这里 显示alert</button><script>console.log("此处为 body 即将结束");</script><h2>此处为 body 即将结束。</h2>
</body>

五、JavaScript 语法

        JavaScript 是一个程序语言。语法规则定义了语言结构。它是一个轻量级,但功能强大的编程语言。

5.1 JavaScript 字面量

在编程语言中,一般固定值称为字面量,如 3.14。

  • 数字(Number)字面量:可以是整数或者是小数,或者是科学计数(e)。

  • 符串(String)字面量:可以使用单引号或双引号。

  • 表达式字面量:用于计算。

  • 数组(Array)字面量:定义一个数组。

  • 对象(Object)字面量:定义一个对象。

  • 函数(Function)字面量:定义一个函数。

<head><script>function addFun(a, b) { return a + b;}</script>
</head><body><p>数字字面量:小数 <strong id="numInt">12345</strong></p><p>数字字面量:整数 <strong id="numDouble">12345</strong></p><p>数字字面量:科学计数法 <strong id="number">12345</strong></p><p>字符串字面量:单引号 <strong id="str">12345</strong></p><p>字符串字面量:双引号 <strong id="strDouble">12345</strong></p><p>表达式字面量:加法 <strong id="add">12345</strong></p><p>表达式字面量:乘法 <strong id="mul">12345</strong></p><p>数组字面量: <strong id="array">12345</strong></p><p>对象字面量: <strong id="obj">12345</strong></p><p>函数字面量: <strong id="fun">12345</strong></p><script>document.getElementById("numInt").innerHTML = 3.14;document.getElementById("numDouble").innerHTML = 1001;document.getElementById("number").innerHTML = 520e5;document.getElementById("str").innerHTML = '单引号';document.getElementById("strDouble").innerHTML = "双引号";document.getElementById("add").innerHTML = 9 + 9;document.getElementById("mul").innerHTML = "双引号";document.getElementById("array").innerHTML = [1, 3, 5, 7, 8, 10, 12];document.getElementById("obj").innerHTML = { name: "Sc", age: 18, studentID: 15 };document.getElementById("fun").innerHTML = addFun(45,80);</script>
</body>

5.2 JavaScript 变量

        变量用于存储数据值。JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值。

变量是一个 名称 。字面量是一个
<body><p>变量Str: <strong id="varNumber">12345</strong></p><script>var strName = '帅次';document.getElementById("varNumber").innerHTML = strName;</script>
</body>

5.3 JavaScript 操作符

类型实例
赋值,算术和位运算符= + - * /
条件,比较及逻辑运算符== != < >
<body><p>操作符: <strong id="ass">12345</strong></p><p>比较运算符 <strong id="compare">12345</strong></p><script>var x,y,z,p;x = 10;y = 20;z = (x+y)*12;document.getElementById("ass").innerHTML = z;p = x==y;//比较及逻辑运算符document.getElementById("compare").innerHTML = p;</script>
</body>

5.4 JavaScript 字母大小写

        JavaScript 对大小写是敏感的(区分大小写)。

        当编写 JavaScript 语句时,请留意是否关闭大小写切换键。

        函数 getElementById 与 getElementbyID 是不同的。

        同样,变量 sccFun 与 sccfun 也是不同的。

5.5 JavaScript 字符集

        JavaScript 使用 Unicode 字符集

        Unicode 覆盖了所有的字符,包含标点等字符。

        Unicode 标准是一个成功的创举,在 HTML、XML、Java、JavaScript、E-mail、ASP、PHP 中都得到实现。Unicode 标准也得到许多操作系统和所有现代浏览器的支持。

        Unicode 联盟与领先的标准开发组织合作,这些组织有 ISO、W3C 和 ECMA。

5.5.1 Unicode 字符集

        Unicode 可以由不同的字符集实现。最常用的编码是 UTF-8 和 UTF-16:

字符集描述
UTF-8UTF8 中的字符可以是 1 到 4 字节长。UTF-8 可以代表 Unicode 标准中的任何字符。UTF-8 向后兼容 ASCII。UTF-8 是电子邮件和网页的首选编码。
UTF-1616 位 Unicode 转换格式是一种可变长度的 Unicode 字符编码,能够编码整个 Unicode 指令表。UTF-16 主要用于操作系统和环境,如 Microsoft Windows、Java 和 .NET。

5.5.2 HTML5 标准:Unicode UTF-8

        因为 ISO-8859 中字符集大小是有限的,且在多语言环境中不兼容,所以 Unicode 联盟开发了 Unicode 标准。

        Unicode 标准覆盖了(几乎)所有的字符、标点符号和符号。

        Unicode 使文本的处理、存储和运输,独立于平台和语言。

        HTML-5 中默认的字符编码是 UTF-8。

        如果 HTML5 网页使用不同于 UTF-8 的字符,则需要在 <meta> 标签中指定,如下

<meta charset="ISO-8859-1">
Unicode 的前 128 个字符(与 ASCII 一一对应)使用一个与 ASCII二进制值相同的八位组进行编码,使有效的 ASCII 文本在进行 UTF-8 编码时也是有效的。

所有的 HTML 4 处理器支持 UTF-8,所有的 HTML 5 和 XML 处理器支持 UTF-8 和 UTF-16!

六、JavaScript 语句

        JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。

浏览器按照编写顺序依次执行每条语句。
<head><script>function sccTest() { document.getElementById("test1").innerHTML = "测试语句 1"document.getElementById("test2").innerHTML = "测试语句 2"}</script>
</head><body><p>你好: <strong id="test1">12345</strong></p><p>你好: <strong id="test2">12345</strong></p><script>sccTest();</script>
</body>

6.1 分号 ;

        分号用于分隔 JavaScript 语句,通常我们在每条可执行的语句结尾添加分号。

        使用分号的另一用处是在一行中编写多条语句。

6.2 JavaScript 语句标识符

        JavaScript 语句通常以一个 语句标识符 为开始,并执行该语句。

        语句标识符是保留关键字不能作为变量名使用

语句描述
break用于跳出循环。
catch语句块,在 try 语句块执行出错时执行 catch 语句块。
continue跳过循环中的一个迭代。
do ... while执行一个语句块,在条件语句为 true 时继续执行该语句块。
for在条件语句为 true 时,可以将代码块执行指定的次数。
for ... in用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
function定义一个函数
if ... else用于基于不同的条件来执行不同的动作。
return退出函数
switch用于基于不同的条件来执行不同的动作。
throw抛出(生成)错误 。
try实现错误处理,与 catch 一同使用。
var声明一个变量。
while当条件语句为 true 时,执行语句块。

6.3 空格

        JavaScript 会忽略多余的空格。你可以向脚本添加空格,来提高其可读性。下面的str1、str2、str3代码是等效的:

<body><p>str1-<strong id="str1">12345</strong></p><p>str2-<strong id="str2">12345</strong></p><p>str3-<strong id="str3">12345</strong></p><script>var str1 = "21321";var str2 ="21321";var str3 =             "21321";document.getElementById("str1").innerHTML=str1;document.getElementById("str2").innerHTML=str2;document.getElementById("str3").innerHTML=str3;</script>
</body>

6.4 对代码行进行折行

        在文本字符串中使用反斜杠对代码行进行换行。如果不折行,有一些文案太长看着不舒服。

        document.write("<p>前端开发涉及到多种工具,用于提高开发效率、优化代码、测试应用程序等。</p>");document.write("<p>前端开发涉及到多种工具,用于\提高开发效率、优化代码、测试应用程序等。</p>");

七、JavaScript 注释

JavaScript 不会执行注释,注释可用于提高代码的可读性。

  • 单行注释以 // 开头。

  • 多行注释以 /* 开始,以 */ 结尾。

    <script>sccTest();var str1 = "21321";var str2 = "21321";var str3 = "21321";document.getElementById("str1").innerHTML = str1;//document.getElementById("str2").innerHTML = str2;/*document.getElementById("str3").innerHTML = str3;document.write("<p>前端开发涉及到多种工具,用于提高开发效率、优化代码、测试应用程序等。</p>");*/document.write("<p>前端开发涉及到多种工具,用于\提高开发效率、优化代码、测试应用程序等。</p>");</script>

相关推荐

HTML 入门手册(一)

HTML 入门手册(二)  

CSS 入门手册(一)

CSS 入门手册(二)

JavaScript 入门手册(二)

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

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

相关文章

用WSGI发布flask到centos7.9

起因 想把自己的Flask或者Django网站&#xff0c;发布到服务器上&#xff0c;让大家都可以访问。网上搜的结果&#xff0c;要么是用NginxuWSGI&#xff0c;要么是用NginxGunicorn。大名鼎鼎的Nginx我早有耳闻&#xff0c;那么两位俩玩意是啥呢。 WSGI是什么 uwsgi是Nginx和w…

存内计算生态环境搭建以及软件开发

在当今数据驱动的商业世界中&#xff0c;能够快速处理和分析大量数据的能力变得越来越重要。而存内计算开发环境在此领域发挥其关键作用。存内计算环境利用内存&#xff08;RAM&#xff09;而非传统的磁盘存储来加速数据处理&#xff0c;提供了一个高效和灵活的平台。这种环境的…

借着ChatGPT的人机交互聊聊长连接

ChatGPT这两年可谓风靡全球&#xff0c;尤其是最近Sora视频模型的横空出世以及claude 3模型所具备的浅意识&#xff0c;更是像打开了新世界的大门。本文就从ChatGPT的网页聊天开始聊起&#xff08;有蹭热度之嫌&#xff0c;哈哈&#xff09;&#xff0c;聊聊长连接的发展历程和…

React-Redux中actions

一、同步actions 1.概念 说明&#xff1a;在reducers的同步修改方法中添加action对象参数&#xff0c;在调用actionCreater的时候传递参数&#xff0c;数会被传递到action对象payload属性上。 2.reducers对象 说明&#xff1a;声明函数同时接受参数 const counterStorecre…

指针进阶(4)看一下这些与指针有关的题你都会做吗?

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

【E3S独立出版】2024年第二届绿色建筑国际会议(ICoGB 2024)

会议简介 Brief Introduction 2024年第二届绿色建筑国际会议(ICoGB 2024) 会议时间&#xff1a;2024年5月22日-24日 召开地点&#xff1a;意大利米兰 大会官网&#xff1a;www.icogb.org ICoGB 2024由意大利米兰理工大学主办&#xff0c;西安交通大学&#xff0c;葡萄牙米尼奥大…

什么是Java内存模型

当问到 Java 内存模型的时候&#xff0c;一定要注意&#xff0c;Java 内存模型&#xff08;Java Memory Model&#xff0c;JMM&#xff09;它和 JVM 内存布局&#xff08;JVM 运行时数据区域&#xff09;是不一样的&#xff0c;它们是两个完全不同的概念。 1.为什么要有 Java …

【校园安全】支小蜜防校园霸凌语音识别系统的好处

在校园安全领域&#xff0c;防校园霸凌语音识别系统的出现&#xff0c;为预防和应对校园霸凌行为提供了新的技术手段。本文将探讨防校园霸凌语音识别系统的好处&#xff0c;并分析其在校园安全建设中的重要作用。 通过安装在校园各个角落的语音识别设备&#xff0c;系统能够捕…

蓝桥杯倒计时 36天-DFS练习2

文章目录 黄金二叉树混沌之力2 黄金二叉树 思路一&#xff1a;递推做法 #include<bits/stdc.h> using namespace std;const int N 1e510;int A[N]; int B[N]; int n,sum;int main( ){cin>>n;for(int i1;i<n;i)cin>>A[i];int left,right;for(int i1;i<…

用Python爬取古诗文网的各类古诗

fetch-gushiwen 用途 可以拿去用于个人知识库、知识图谱的创建等其他学习用途。 使用 输入古诗文网的链接&#xff0c;即可爬取该页面所有诗歌的诗名&#xff0c;作者&#xff0c;朝代&#xff0c;内容&#xff0c;译文&#xff0c;注释&#xff0c;赏析&#xff0c;创作背…

[MRCTF2020]Transform1

a[33]"9,10,15,23,7,24,12,6,1,16,3,17,32,29,11,30,27,22,4,13,19,20,21,2,25,5,31,8,18,26,28,14" b[33]"103,121,123,127,117,43,60,82,83,121,87,94,93,66,123,45,42,102,66,126,76,87,121,65,107,126,101,60,92,69,111,98,77" python代码 a3 [103…

前端实现一个绕圆心转动的功能

得知了转换关系&#xff0c;我们就可以定义一个变量 angle 来表示我们这个 div 做圆周运动时绕圆心转过的角度&#xff0c;则弧度&#xff08;radian&#xff09; 为 radian &#xff08;angle*π&#xff09;/180 我们先在草稿纸上演练一遍我们的逻辑是否可行。让我们先准备一…

2024蓝桥杯每日一题(差分)

一、第一题&#xff1a;空调 解题思路&#xff1a;差分 希望P减掉T后就相当于从0到New_P&#xff0c;想到得到New_P只需要对全0数组进行若干次区间加操作&#xff0c;所以只需要对New_P数组进行差分&#xff0c;累加正数和负数&#xff0c;哪个绝对值大答案就是那个。 …

数据库安全的重要性

数据库作为信息系统的核心&#xff0c;不仅承载着海量的关键数据&#xff0c;还负责向各类用户提供高效、可靠的信息服务。在网络技术高度发展的今天&#xff0c;数据库的安全性显得尤为关键。为了防范不法分子的攻击&#xff0c;维护数据完整性和可靠性&#xff0c;数据库安全…

【Windows】VMware虚拟机应用(二):安装ubuntu-14.04.4

一、下载安装包 ubuntu-14.04.4-server-amd64.iso 注&#xff1a;因为我是用已有的安装包&#xff0c;所以&#xff0c;这里就不写下载步骤了。 二、安装引导 以管理员身份运行 VMware Workstation Pro 注&#xff1a;如果不是管理员身份运行&#xff0c;在安装系统时会出现…

二叉搜索树:查找+插入+删除+性能分析

文章目录 一、搜索树1.二叉搜索树的查找2.二叉搜索树的插入3.二叉搜索树的删除4.性能分析 一、搜索树 二叉搜素树 &#xff08; 二叉排序树 ) 1.要么是空树 2.如果左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 3.如果右子树不为空&#xff0c;则右子树上所…

7款前端实战型项目特效分享(附在线预览)

分享7款实用性的前端动画特效 其中有canvas特效、css动画、svg动画等等 下方效果图可能不是特别的生动 那么你可以点击在线预览进行查看相应的动画特效 同时也是可以下载该资源的 CSS春节灯笼特效 基于CSS实现的灯笼特效 灯笼会朝左右两个方向来回的摆动着 以下效果图只能体现…

关于Vue3的一些操作

1. 设置浏览器自动打开 在package.json 中设置 dev: vite --open 2.给src文件夹配置别名 在vite.config.ts配置文件中添加以下内容 3. 如果2中有红色波浪线的问题 ***安装一个文件包***npm install types/node3. 在tsconfig.json配置文件中&#xff0c;找到配置项compi…

Windows下Node.js安装保姆级教程

一、Node.js 下载 访问Node.js官网&#xff0c;点击下载Node.js 下载完成后即可在下载文件中查看安装包 二、安装 一&#xff09;点击安装包开始安装&#xff0c;进入Weclcome界面点击Next 二&#xff09;勾选同意协议&#xff0c;点击Next 三&#xff09;根据需要选择安装路…

Open CASCADE学习|表面着色显示模型

模型表面着色具有如下作用&#xff1a; 视觉增强&#xff1a;通过为模型表面添加着色&#xff0c;可以使其更加生动和逼真&#xff0c;提高视觉体验。 信息区分&#xff1a;在复杂的模型中&#xff0c;不同的部分或组件可能需要通过不同的颜色来区分&#xff0c;以便更清晰地…