当前位置: 首页 > news >正文

JavaScript 01 【基础语法学习】

1 JavaScript 用法

HTML 中的 Javascript 脚本代码必须位于 <script> 与 </script> 标签之间。

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

JavaScript 用法 | 菜鸟教程https://www.runoob.com/js/js-howto.html

2 JavaScript 输出

JavaScript 输出 | 菜鸟教程https://www.runoob.com/js/js-output.html

JavaScript 没有任何打印或者输出的函数。

JavaScript 显示数据

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

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

3 JavaScript 语法

JavaScript 语法 | 菜鸟教程https://www.runoob.com/js/js-syntax.html

JavaScript 变量

JavaScript 变量 | 菜鸟教程https://www.runoob.com/js/js-variables.html在编程语言中,变量用于存储数据值。

JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值:

var x, length;
x = 5;
length = 6;

在 2015 年以前,我们使用 var 关键字来声明 JavaScript 变量。

在 2015 后的 JavaScript 版本 (ES6) 允许我们使用 const 关键字来定义一个常量,使用 let 关键字定义的限定范围内作用域的变量。

let 是 ES6 引入的新变量声明方式,推荐使用。

JavaScript 语句

JavaScript 语句 | 菜鸟教程https://www.runoob.com/js/js-statements.htmlJavaScript 是脚本语言,浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。

JavaScript 的这种执行方式被称为解释型

解释型语言的特点是:

  • 不需要在执行前进行完整的编译过程
  • 由解释器逐行读取代码并即时执行
  • 执行过程中边解析边运行

而编译型语言(如 C、C++ 等)则需要:

  • 在执行前通过编译器将源代码一次性编译成机器码
  • 生成独立的可执行文件
  • 运行时直接执行编译好的机器码,不再需要源代码

简单来说,解释型语言是 "边解释边执行",编译型语言是 "先编译再执行"。JavaScript 作为脚本语言,属于典型的解释型语言(现代 JavaScript 引擎会有一些编译优化,如 JIT 即时编译,但从语言类型上仍归类为解释型)。

5 JavaScript 和 Python 作为脚本语言的相似之处

JavaScript 数据类型 | 菜鸟教程https://www.runoob.com/js/js-datatypes.html

JavaScript 和 Python 作为脚本语言确实有一些相似之处,但它们在设计理念、语法规则和应用场景上仍有不少区别,并非完全一样。

相似点:

  1. 均为解释型语言:不需要提前编译,边解析边执行
  2. 动态类型:变量类型可以动态改变,不需要提前声明类型
  3. 弱类型:变量可以自动进行类型转换
  4. 支持面向对象编程:但实现方式不同
  5. 拥有丰富的内置库:方便快速开发

主要区别:

  1. 应用场景

    • JavaScript:主要用于前端开发,也可通过 Node.js 用于后端
    • Python:广泛用于数据分析、人工智能、后端开发、自动化等
  2. 语法差异

    • 代码块:JavaScript 用 {},Python 用缩进
    • 变量声明:JavaScript 用 var/let/const,Python 直接赋值
    • 函数定义:JavaScript 用 function 关键字,Python 用 def
    • 末尾分号:JavaScript 通常需要,Python 不需要
  3. 类型系统细节

    • JavaScript 中的 typeof null 返回 'object'(历史遗留问题)
    • Python 有更丰富的内置类型(如元组、列表、字典区分更清晰)
  4. 异步编程

    • JavaScript 大量使用回调、Promise、async/await 处理异步
    • Python 主要用 asyncio 库和装饰器处理异步
  5. 生态系统

    • JavaScript 有 npm 庞大的包管理系统,前端框架丰富(React、Vue 等)
    • Python 有 PyPI,科学计算库强大(NumPy、Pandas 等)

简单来说,脚本语言确实有一些共性,但不同语言都有其独特设计和擅长领域,不能认为 "基本上一样"。选择哪种语言主要取决于具体的开发需求。

6 JavaScript 对象

JavaScript 对象 | 菜鸟教程https://www.runoob.com/js/js-obj-intro.html

7 JavaScript 函数语法

JavaScript 函数 | 菜鸟教程https://www.runoob.com/js/js-functions.html函数就是包裹在花括号中的代码块,前面使用了关键词 function:

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

当调用该函数时,会执行函数内的代码。

可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

lamp

JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

8 JavaScript 可以做什么?

JavaScript 事件 | 菜鸟教程https://www.runoob.com/js/js-events.html事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:

  • 页面加载时触发事件
  • 页面关闭时触发事件
  • 用户点击按钮执行动作
  • 验证用户输入内容的合法性
  • 等等 ...

可以使用多种方法来执行 JavaScript 事件代码:

  • HTML 事件属性可以直接执行 JavaScript 代码
  • HTML 事件属性可以调用 JavaScript 函数
  • 你可以为 HTML 元素指定自己的事件处理程序
  • 你可以阻止事件的发生。
  • 等等 ...

9 JavaScript 模板字符串

JavaScript 模板字符串 | 菜鸟教程https://www.runoob.com/js/js-string-templates.html

JavaScript 中的模板字符串是一种方便的字符串语法,允许你在字符串中嵌入表达式和变量。

模板字符串使用反引号 `` 作为字符串的定界符分隔的字面量。

模板字面量是用反引号(`)分隔的字面量,允许多行字符串、带嵌入表达式的字符串插值和一种叫带标签的模板的特殊结构。

模板字符串还支持多行文本,而无需使用特殊的转义字符:

const multiLineText = `This isa multi-linetext.
`;

10 JavaScript typeof, null, 和 undefined

JavaScript typeof, null, 和 undefined | 菜鸟教程https://www.runoob.com/js/js-typeof.html

11 JavaScript 正则表达式

JavaScript 正则表达式 | 菜鸟教程https://www.runoob.com/js/js-regexp.html

什么是正则表达式?

正则表达式是由一个字符序列形成的搜索模式。

当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

正则表达式可以是一个简单的字符,或一个更复杂的模式。

正则表达式可用于所有文本搜索和文本替换的操作。

更多正则表达式内容可以访问:正则表达式 - 教程。

正则表达式 - 简介

除非您以前使用过正则表达式,否则您可能不熟悉一些术语。但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念。

例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件。? 通配符匹配文件名中的 0 个或 1 个字符,而 * 通配符匹配零个或多个字符。像 data(\w)?\.dat 这样的模式将查找下列文件:

data.dat
data1.dat
data2.dat
datax.dat
dataN.dat

正则表达式的使用,可以通过简单的办法来实现强大的功能。下面先给出一个简单的示例:

  • ^ 为匹配输入字符串的开始位置。

  • [0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。

  • abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置。

我们在写用户注册表单时,只允许用户名包含字符、数字、下划线和连接字符 -,并设置用户名的长度,我们就可以使用以下正则表达式来设定。

^[a-zA-Z0-9_-]{3,15}$

  • ^ 表示匹配字符串的开头。
  • [a-zA-Z0-9_-] 表示字符集,包含小写字母、大写字母、数字、下划线和连接字符 -。
  • {3,15} 表示前面的字符集最少出现 3 次,最多出现 15 次,从而限制了用户名的长度在 3 到 15 个字符之间。
  • $ 表示匹配字符串的结尾。

以上的正则表达式可以匹配 runoob、runoob1、run-oob、run_oob, 但不匹配 ru,因为它包含的字母太短了,小于 3 个无法匹配。也不匹配 runoob$, 因为它包含特殊字符。

为什么使用正则表达式?

典型的搜索和替换操作要求您提供与预期的搜索结果匹配的确切文本。虽然这种技术对于对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,若采用这种方法搜索动态文本,即使不是不可能,至少也会变得很困难。

通过使用正则表达式,可以:

  • 测试字符串内的模式。
    例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。
  • 替换文本。
    可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
  • 基于模式匹配从字符串中提取子字符串。
    可以查找文档内或输入域内特定的文本。

例如,您可能需要搜索整个网站,删除过时的材料,以及替换某些 HTML 格式标记。在这种情况下,可以使用正则表达式来确定在每个文件中是否出现该材料或该 HTML 格式标记。此过程将受影响的文件列表缩小到包含需要删除或更改的材料的那些文件。然后可以使用正则表达式来删除过时的材料。最后,可以使用正则表达式来搜索和替换标记。

应用领域

目前,正则表达式已经在很多软件中得到广泛的应用,包括 *nix(Linux, Unix等)、HP 等操作系统,PHP、C#、Java 等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。

C# 正则表达式

在我们的 C# 教程中,C# 正则表达式 这一章节专门介绍了有关 C# 正则表达式的知识。

Java 正则表达式

在我们的 Java 教程中,Java 正则表达式 这一章节专门介绍了有关 Java 正则表达式的知识。

JavaScript 正则表达式

在我们的 JavaScript 教程中,JavaScript RegExp 对象 这一章节专门介绍了有关 JavaScript 正则表达式的知识,同时我们还提供了完整的 JavaScript RegExp 对象参考手册。

Python 正则表达式

在我们的 Python 基础教程中,Python 正则表达式 这一章节专门介绍了有关 Python 正则表达式的知识。

Ruby 正则表达式

在我们的 Ruby 教程中,Ruby 正则表达式 这一章节专门介绍了有关 Ruby 正则表达式的知识。

命令或环境.[ ]^$\( \)\{ \}?+|( )
vi     
Visual C++     
awk awk是支持该语法的,只是要在命令 行加入 --posix or --re-interval参数即可,可见 man awk中的interval expression
sed    
delphi 
python
java√ √ 
javascript 
php     
perl 
C#  
http://www.dtcms.com/a/488134.html

相关文章:

  • 建设门户网站的目的和需求西安专业做淘宝网站的公司
  • init wordpressseo诊断晨阳
  • 网站运营成本预算好看响应式网站模板下载
  • 建网站软件工具建一个设计网站要多少钱
  • AI Coding实现X2SeaTunnel的设计、开发与落地
  • 给做网站建设的一些建议网站首页的导航栏
  • MySQL——联合查询数据表
  • 在Springboot中处理log4j2日志文件
  • 威海+网站建设一人开公司做网站创业
  • Cookie、Session、JWT、SSO,网站与 APP 登录持久化与缓存
  • 营销网站制作皆选ls15227负责wordpress+边框插件
  • 视频网站开发需求分析外包网站开发公司
  • 个人网站制作基本步骤淄博网站备案公司
  • python单元测试 unittest.mock.patch (二)
  • 手机网站后台编辑器有哪些贵州建筑网站
  • 如果使用自己电脑做网站com是什么网站
  • 泛微 企业网站建设计划网站出现 503怎么了
  • 兰州移动端网站建设如何做好网站站内优化
  • PS基本教学(二)——认识PS软件各个基础模块以及PS基本设置
  • 大模型Agent智能体:开启人工智能新时代
  • 常备资料查询
  • 20251015给荣品的PRO-RK3566开发板在buildroot下打开ov5645【只配置编译了】
  • 淄博网站排名公司苏州网页关键词优化
  • 网站设置密码访问一建二建报考条件及专业要求
  • 青岛市住房城乡建设厅网站php网站建设个人总结
  • 濮阳网站关键词网站做下载wordpress
  • 上海站优云网络科技有限公司简单的网站怎么做
  • django网站开发实例pdfseo交流群
  • 重庆建网站搜索快忻科技html代码注释
  • 如何做公司o2o网站网站制作杭州