高阶javascript技巧

白 - 权限提升和漏洞利用技巧

Windows服务 1.不安全的服务文件权限或路径 基本原理 Windows服务是一种在后台运行的计算机程序,它在概念上类似于Unix守护进程。 每个Windows服务都将其可执行文件的路径存储在称为BINARY_PATH_NAME的变量中。当启动服务时,会检查此变量并执行其下设置的.exe文件。 ......
漏洞 权限 技巧

JavaScript 日期和时间的格式化

一、日期和时间的格式化 1、原生方法 1.1、使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法,该方法可以根据本地时间和地区设置格式化日期时间。例如: const date = new Date(); console.log(date.toLocal ......
JavaScript 日期 格式 时间

JavaScript 中的 apply、call、bind

一、常规 在 JavaScript 中,apply、call、bind 是三个与函数调用相关的方法,它们都允许你在调用函数时手动设置函数的上下文(即 this 指向)。 1、apply 方法:apply 方法允许你调用一个函数,并且手动设置函数的上下文(即 this 指向)以及传递一个参数数组。其语 ......
JavaScript apply call bind

我好像找到了点学习英文的技巧

在开头,我得先声明一句,学习英语没有捷径,但是有技巧。 在之前的几年,我陆续的也发过 2 篇英语学习的文章《程序员英语高效学习法》和《每次阅读外文技术资料都头疼,终于知道原因了》。 还特地搜集了上千个计算机相关的英语单词,但是很遗憾,最终还是没能坚持下来。 上个月又燃起了学习英语的斗志,所以特在此记 ......
技巧

深入理解JavaScript对象

前言 在 JavaScript 中,对象是一种非常常见的数据类型,几乎每个程序员都会在日常工作中频繁地使用对象。在本篇文章中,我们将深入了解 JavaScript 对象的一些基本概念和一些高级概念,这些概念对于我们正确理解对象在 JavaScript 中的行为非常重要。 对象的基本概念 在 Java ......
JavaScript 对象

【JavaScript】JS引擎中执行上下文如何顺序执行代码

首先我们知道JavaScript引擎包括一个调用栈和堆,调用栈是代码实际执行的地方,使用执行上下文(执行环境)来完成;堆是非结构化的内存池,存储了应用程序所需要的所有对象。 执行上下文是什么? 执行上下文包括全局执行上下文和执行上下文。 全局执行上下文:代码编译完成后进入调用栈执行首先创建全局执行上 ......
上下文 JavaScript 顺序 上下 代码

这些 JavaScript 笔试题你能答对几道?

收藏 javascript-questions 这个仓库很久了,趁着周末来锻炼下自己的 JS 基础水平 因为逐渐也在承担一些面试工作,顺便摘录一些个人觉得比较适合面试的题目和方向 事件流(捕获、冒泡) 源链接 以下代码点击结果是啥? <div onclick="console.log('div')" ......
JavaScript 试题

JavaScript 如何验证 URL

前言 当开发者需要为不同目的以不同形式处理URL时,比如说浏览器历史导航,锚点目标,查询参数等等,我们经常会借助于JavaScript。然而,它的频繁使用促使攻击者利用其漏洞。这种被利用的风险是我们必须在我们的JavaScript应用程序中实现URL验证的原因。 URL验证检查URL是否遵循正确的U ......
JavaScript URL

JavaScript 高阶函数

JavaScript 中的高阶函数是一种接受函数作为输入或返回函数作为输出的函数。高阶函数可以用于创建抽象概念,例如柯里化、组合和管道。 ......
高阶 JavaScript 函数

JavaScript进阶

javaScript进阶 一、作用域 JS的作用域简单来说就是变量(变量作用于又称上下文)和函数生效(能被访问)的区域 1.全局作用域 函数之外声明的变量,会成为全局变量。 变量在程序的任何地方都能被访问,表示它是全局变量,window 对象的内置属性都拥有全局作用域。 自动全局 如果您为尚未声明的 ......
JavaScript

JavaScript 文件上传与下载

一、文件上传 1、普通文件上传 JavaScript 可以使用表单提交来实现文件上传。首先,在 HTML 中创建一个文件输入框: <input type="file" id="fileInput"> 然后,在 JavaScript 中获取文件输入框的引用,并在其上设置事件监听器,如下所示: var ......
JavaScript 文件

JavaScript 评测代码运行速度

一、使用 performance.now() API 在 JavaScript 中,可以使用 performance.now() API 来评测代码的运行速度。该 API 返回当前页面的高精度时间戳,您可以在代码执行前后调用它来计算代码执行所需的时间。 例如: let t0 = performanc ......
JavaScript 速度 代码

JavaScript 中更安全的 URL 读写

前言 URL对于我们开发人员来讲,应该是非常熟悉了。在对URL进行参数拼接时,我们一般都会直接进行字符串拼接或使用模版字符串,因为这样非常方便,但是我们这样其实会在不知不觉中以不安全的方式编写 URL。 比如,我们通常会这样写: const url = `https://www.baidu.com ......
JavaScript URL

android开发技巧杂谈

android开发技巧一 android的一些常用包是发布在国外的,所以一些包,我们下载不下来,我们可以使用阿里云的镜像地址(maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' })。 使用https的地址,如下(亲 ......
杂谈 android 技巧

JavaScript 数组去重

JavaScript 中有多种方法可以实现数组去重,下面是几种常用的方法: 1、使用 Set 去重:Set 数据结构中不能有重复元素,可以将数组转成 Set 类型,再转回数组。 let arr = [1,2,3,4,5,6,2,3,4]; let uniqueArr = [...new Set(ar ......
数组 JavaScript

JavaScript 内存管理及垃圾回收

JavaScript 中的内存管理主要由 JavaScript 引擎负责,开发人员不需要手动管理内存。JavaScript 引擎使用垃圾回收算法来实现自动垃圾回收。 JavaScript 垃圾回收算法是指在 JavaScript 程序中,用来回收不再使用的内存的算法。 ......
JavaScript 内存 垃圾

JavaScript 中 this 关键字的作用和如何改变其上下文

JavaScript 中的 this 关键字引用了所在函数正在被调用时的对象。在不同的上下文中,this 的指向会发生变化。可以通过 call, apply, bind 方法来改变 this 的上下文。 ......
上下文 JavaScript 上下 关键字 作用

JavaScript 图像压缩

JavaScript 可以使用类似于 canvas 和 web workers 来实现图像压缩。 使用 canvas,可以将图像绘制到 canvas 上,然后使用 canvas 提供的 toBlob() 或 toDataURL() 方法将其转换为不同格式的图像。在这些方法中指定图像质量参数即可实现压... ......
JavaScript 图像

JavaScript 浅拷贝和深拷贝

JavaScript 中对象的赋值是通过将一个对象的引用赋值给另一个变量,两个变量指向同一个内存地址。这意味着如果更改其中一个对象的值,另一个对象的值也会更改。 浅拷贝是将一个对象的值复制给另一个对象,但如果对象中包含对其他对象的引用,则这些引用仍然指向原来的对象。可以使用 Object.assig... ......
拷贝 JavaScript

JavaScript 中URL 查询字符串(query string)的序列与反序列化

方法一: 在 JavaScript 中,可以使用 URLSearchParams 对象来处理 URL 中的查询字符串。 序列化(将 JavaScript 对象转换为查询字符串)可以使用 URLSearchParams 对象的 append() 方法,如下所示: let params = new UR ......
序列 字符串 JavaScript 字符 string

【译】15 个有用的 JavaScript 技巧

原文地址:https://javascript.plainenglish.io/15-useful-javascript-tips-814eeba1f4fd 1)数字分隔符 为了提高数字的可读性,可以使用下划线作为分隔符。 const largeNumber = 1_000_000_000; con ......
JavaScript 有用 技巧

教你用JavaScript实现乘法游戏

案例介绍 欢迎来的我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个乘法积分游戏。乘法游戏主要通过用户输入的数值和程序计算的数值进行对比,正确积一分,错误扣一分。通过实战我们将学会JSON.parse方法、JSON.stringify方法、localS ......
乘法 JavaScript

JavaScript 中如何拦截全局 Fetch API 的请求和响应?

本文翻译自 Intercepting JavaScript Fetch API requests and responses 拦截器是可用于预处理或后处理 HTTP 请求的代码块,有助于全局错误处理、身份验证、日志记录等。在本文中,你将学习如何拦截 JavaScript Fetch API 请求。 ......
全局 JavaScript Fetch API

彻底弄懂Javascript模块导入导出

笔者开始学习Javascript的时候,对模块不太懂,不知道怎么导入模块,导出模块,就胡乱一通试 比如 import xx from 'test.js' 不起作用,就加个括号 import {xx} from 'test.js' 反正总是靠蒙,总有一种写法是对的,其实还是没有理解,还是不懂 尤其是在 ......
Javascript 模块

ArcObjects SDK 024 开发的技术和技巧

1、基本技术 开发方面。会使用C#开发语言和Visual Studio开发工具。会使用WinForm或者WPF开发。 理论知识方面。了解GIS的相关概念,例如矢量数据,栅格数据,空间参考、比例尺等概念。 工具方面。能够较为熟练的使用ArcMap桌面软件。 2、面向对象编程 如果我们只用.Net开发一 ......
ArcObjects 技巧 技术 024 SDK

JavaScript 深拷贝的循环引用问题

如果说道实现深拷贝最简单的方法,我们第一个想到的就是 JSON.stringify() 方法,因为JSON.stringify()后返回的是字符串,所以我们会再使用JSON.parse()转换为对象,如下代码: let obj = { name: 'liaoyi',age: 22,sex: 1} J ......
拷贝 JavaScript 问题

【进阶篇】Redis实战之Jedis使用技巧详解

一、摘要 在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令,以及可视化工具的介绍。 刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个 redis 的客户端,然后将其集成到项目中,让程序自动根据我们的业务需要自动处理。 基于 redis 开放的通 ......
使用技巧 实战 技巧 Redis Jedis

不规则图形背景排版高阶技巧 -- 酷炫的六边形网格背景图

今天,收到一个很有意思的提问,如何实现类似如下的背景效果图: 嗯?核心主体是由多个六边形网格叠加形成。 那么我们该如何实现它呢?使用纯 CSS 能够实现吗? 当然可以,下面我们就将尝试如何使用 CSS 去实现这样一个背景效果。 如何绘制六边形? 首先,看到这样一个图形,如果想要使用一个标签完成整个背 ......
背景 六边形 高阶 网格 图形

5个接口性能提升的通用技巧

前言 作为后端开发人员,我们总是在编写各种API,无论是为前端web提供数据支持的HTTP REST API ,还是提供内部使用的RPC API。这些API在服务初期可能表现不错,但随着用户数量的增长,一开始响应很快的API越来越慢,直到用户抱怨:“你的系统太糟糕了。” 我只是浏览网页。为什么这么慢 ......
接口 性能 技巧

JavaScript:原型(prototype)

面向对象有一个特征是继承,即重用某个已有类的代码,在其基础上建立新的类,而无需重新编写对应的属性和方法,继承之后拿来即用; 在其他的面向对象编程语言比如Java中,通常是指,子类继承父类的属性和方法; 我们现在来看看,JS是如何实现继承这一个特征的; 要说明这个,我们首先要看看,每个对象都有的一个隐 ......
原型 JavaScript prototype