跳至主要內容
javascript文件上传

交互

点击上传多个文件 multiple

用户可以选择多个文件,然后文件列表会显示出来。需要注意的是,文件的选择是通过<input type="file" multiple>标签来实现的,其中multiple属性允许选择多个文件。

点击上传文件夹 odirectory

允许用户上传整个文件夹,而不仅仅是单个文件。使用<input type="file" webkitdirectory mozdirectory odirectory>标签来启用文件夹上传功能。在处理时,代码会检查文件是否为文件夹,然后递归读取文件夹中的文件列表。


h7mljavascriptjavascript大约 5 分钟
深度解析 URL Scheme

深度解析 URL Scheme

当我们使用移动应用时,我们通常会通过点击链接或按钮来跳转到其他页面或应用。在 iOSAndroid 系统中,这些链接或按钮是通过 URL Scheme 实现的。

URL Scheme 是一种在移动设备上通过链接或按钮调用应用程序的机制。它允许开发者在应用程序内部注册特殊的 URL,当用户点击带有该 URL 的链接或按钮时,系统会自动打开相应的应用程序,并执行相应的操作。


h7mljavascriptURL SchemejavascriptURL Scheme大约 11 分钟
JavaScript WebkitSpeechRecognition:使用语音识别技术增强 Web 应用程序

JavaScript WebkitSpeechRecognition:使用语音识别技术增强 Web 应用程序

WebkitSpeechRecognition 是一种 JavaScript API,它可以让您的 Web 应用程序使用语音识别技术。使用 WebkitSpeechRecognition,您可以让用户通过说话来与您的 Web 应用程序进行交互,这可以使您的应用程序更加易于使用,也可以为用户提供更加人性化的体验。

WebkitSpeechRecognition 的基本概念

WebkitSpeechRecognition 是 Webkit 浏览器中的一个 API,它提供了一种将用户的语音转换为文本的方法。该 API 允许您使用 JavaScript 控制语音识别过程,并获取识别结果。


h7mljavascriptwebkitSpeechRecognitionjavascriptwebkitSpeechRecognition大约 6 分钟
javascript EventSource:实时服务器端推送

javascript EventSource:实时服务器端推送

当涉及到向前端应用程序提供实时数据时,Web 开发人员需要一种可以无缝工作的解决方案。一般情况下,前端应用程序会定期向服务器发送请求以获取更新,但是这会浪费宝贵的带宽资源和服务器资源。在这种情况下,javascript EventSource 就成为了一种更为高效的解决方案。

背景

在使用 chatgpt 时。实时的获取到 chatgpt 的回复。但是我发现在输入 prompt 后,只有一个请求。但是他的消息是实时动态显示的,起初以为使用了 WebSocket,但经过查看源码发现并没有使用 WebSocket。而是使用了 EventSource。


h7mljavascripteventsourcejavascripteventsource大约 7 分钟
JavaScript 变量

JavaScript 变量

var 关键字

var message; // 默认 undefined

h7mljavascriptjavascript大约 5 分钟
JavaScript 运算符

JavaScript 运算符

ECMAScript 中的操作符比较独特,包括字符串、数值、布尔值,甚至还有对象。应用给对象时通常会调用会调用valueOf()toString()方法。

一元运算符

递增/递减

++n; // 先自增 1,再运算
n++; // 先运算,再自增 1
--n; // n-- 同理
!n; // 转换为 Boolean 值

h7mljavascriptjavascript大约 7 分钟
JavaScript 严格模式及运算问题

JavaScript 严格模式及运算问题

严格模式

'use strict';
// 函数体 告诉支持 JavaScript 引擎切换到严格模式
// 这样写即使低版本的浏览器不支持严格模式也不会报错,他只是个字符串

h7mljavascriptjavascript大约 3 分钟
JavaScript 数值转换

JavaScript 数值转换

数据类型 转换为 true 的值 转换为 false 的值
Boolean True False
String 非空字符串 ''
Number 非 0 数字 0 和 NaN
Object 任何对象 null
Undefined n/a(不适用) Undefined

h7mljavascriptjavascript大约 2 分钟
JavaScript 变量、作用域、内存

JavaScript 变量、作用域、内存

原始值与引用值

ECMAScript 分为两种数据类型: 1、原始值:最简单的数据(undefined null boolean number string symbol)。 2、引用值:由多个值构成的对象,保存在内存中的对象(js 不能直接访问内存地址,也就不能操作对象所在内存空间,所以实际操作只是对该对象的引用操作)。


h7mljavascriptjavascript大约 7 分钟
如何编写 JavaScript 引擎?

如何编写 JavaScript 引擎?

JavaScript 引擎是解释和执行 JavaScript 代码的核心组件。

词法分析器

词法分析器是编译器中的一个重要组成部分,其作用是将源程序中的字符流转换为词法单元流,以便后续的语法分析。设计词法分析器的基本步骤如下:

  1. 确定词法单元的类型和模式词法单元是源程序中的最小语法单位,例如标识符、关键字、常量、运算符等。在设计词法分析器时,需要确定每种词法单元的类型和对应的正则表达式模式,以便识别源程序中的词法单元。

例如,对于一个简单的算术表达式语言,可以定义如下的词法单元类型和模式:


h7mlenginejavascriptenginejavascript大约 14 分钟
2