92.更新一些收藏的经验贴总结学习
一、JS相关
1.进制转换
(1)十进制转二进制
十进制数除2取余法:十进制数除2,余数为权位上的数,得到的商继续除2,直到商为0。最后余数从下往上取值。
(2)二进制转十进制
把二进制按权展开:从右到左 权值乘以2的0次方到N次方
(3)二进制转八进制
3位二进制数为一组:从右到左3位二进制数按权展开相加得到一位八进制数,不足补零
(4)八进制转二进制
八进制数除2取余法:除2取余,余数从下往上取值
(5)二进制转十六进制
4位二进制数为一组:从右到左4位二进制数按权展开相加得到一位十六进制数,不足补零
(6)十六进制转二进制
十六进制除2取余法:除2取余,余数从下往上取值
(7)十进制转八进制或十六进制
有2种方法:
一是:把十进制转为二进制后再转八进制或十六进制
二是:十进制除8或除16取余法,余数也是从下往上取值
(8)八进制或十六进制转十进制
把八进制数或十六进制数按权展开相加得到十进制数:比如八进制226为 2*8^2+2*8^1+6*8^0
(9)八进制与十六进制转换
有2种方法:
一是:先转换为二进制再相互转换
二是:想转换为十进制再互相转换
(10)负数转换
先将负数写为补码形式,再根据二进制转换其他进制的方法进行:
比如将十进制数 -9 转为八进制:
-9的补码为1111 1111 1111 0111(先原码--再反码--再补码)
然后从右往左3位一划,不足补零,最后得到177767,即为-9的八进制形式
总结:
十进制(八进制、十六进制)转二进制:除2取余法
二进制转十进制:从右到左按权展开(2的n次方)
二进制转八进制:3位一划,从右到左按权展开,不足补零(2的n次方)
二进制转十六进制:4位一划,从右到左按权展开,不足补零(2的n次方)
十进制转八进制(十六进制):除8(16)取余法
八进制(十六进制)转十进制:从右到左按权展开(8的n次方或16的n次方)
八进制与十六进制相互转换:可先转为二进制(十进制)再相互转换
十进制负数转八进制(十六进制):先将负数写为补码再用二进制转换
2.js超出显示省略号
str = "开始时间,结束时间,span名称,应用名称,页面访问趋势"
需求:只显示字符串前3项,其余以省略号展示,并且鼠标悬浮时展示全部
newStr = str.split(',').slice(0,3).join(',') + ',...'
<div :title="str">
newStr:{{newStr}}
</div>
3.call()、apply()、bind()用法
(1)都用来重定义this指向
var name = "小小" , age = 20
var obj = {
name:"阿拙",
objjAge:this.age,
myFun:function(){
// 此时取不到this.age值 因为this指向obj这个对象
console.log(this.name + "年龄:" + this.age)
}
}
var data = {
name:'苏苏",
age:19
}
obj.myFun.call(data) // 苏苏年龄:19
obj.myFun.apply(data) // 苏苏年龄:19
obj.myFun.bind(data)() // 苏苏年龄:19
由以上代码可知:call、apply和bind都可以通过传参调用obj对象内的方法将值传递进去,bind返回的是一个新的函数,必须调用它才能被执行。
(2)对比call、apply、bind传参
var name = "小小" , age = 20
var obj = {
name:"阿拙",
objjAge:this.age,
myFun:function(fm,to){
// 此时取不到this.age值 因为this指向obj这个对象
console.log(this.name + "年龄:" + this.age,"来自" + fm + "去往" + to)
}
}
var data = {
name:'苏苏",
age:19
}
obj.myFun.call(data,'北京','上海') // 苏苏年龄:19,来自北京去往上海
obj.myFun.apply(data,['北京','上海']) // 苏苏年龄:19,来自北京去往上海
obj.myFun.bind(data,'北京','上海')() // 苏苏年龄:19,来自北京去往上海
由以上代码可知:call、apply和bind三个函数的第一个参数都是this的指向对象 ,第二个参数传参有区别:call和bind都是直接放在第一个参数后,以逗号隔开;apply的第二个参数需要放在数组里。三者的参数不限定是 string 类型,允许是各种类型,包括函数 、 object 等。
4.js点击按钮复制文本
因为select()输入框只对input和textarea有效,对<p>无效,所以可以在p标签后添加textarea标签并将其隐藏,点击按钮时先把<textarea>的value改为<p>的innerText,然后复制<textarea>的内容。
<
style
type
=
"text/css"
>
.wrapper {position: relative;}
#input {position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;}
</
style
>
<
div
class
=
"wrapper"
>
<
p
id
=
"text"
>被复制的内容</
p
>
<
textarea
id
=
"input"
>已隐藏</
textarea
>
<
button
onclick
=
"copyText()"
>复制</
button
>
</
div
>
<script type=
"text/javascript"
>
function
copyText() {
var
text = document.getElementById(
"text"
).innerText;
var
input = document.getElementById(
"input"
);
input.value = text;
// 修改文本框的内容
input.select();
// 选中文本
document.execCommand(
"copy"
);
// 执行浏览器复制命令
alert(
"复制成功"
);
}
</script>
5.js获取数组对象最大(小)值
list = [{ id: 1, name: 'jack' },
{ id: 2, name: 'may' },
{ id: 3, name: 'shawn' },
{ id: 4, name: 'tony' }]
需要获取list数组对象中id属性的最大值和最小值:
(1)Math方法
// 最大值 4
Math.max.apply(Math,this.list.map(item => { return item.id }))
// 最小值 1
Math.min.apply(Math,this.list.map(item => { return item.id }))
(2)sort排序(会使原数组元素位置发生变化)
// 最大值 4
this.list.sort((a, b) => { return b-a })[0].id
// 最小值 1
this.list.sort((a, b) => { return a-b })[0].id
6.for循环内异步操作
(1)实现每隔1秒打印0~4的值
function box(index){
if(index <5){
console.log("index is : ",index)
setTimeout(function(){
box(index+1)
},1000)
}
}
box(0)
(2)使用递归实现倒计时
function showTime(count){
console.log("count is : ", count)
if(count==0){
console.log("All is Done !")
}else{
count -= 1
setTimeout(function(){
showTime(count)
},1000)
}
}
showTime(10)
(3)async和await实现打印0~4
var asyncFunc = function(arr,i){
return new Promise(resolve,reject){
setTimeout(function(){
arr.push(i)
console.log("index is: " ,i)
resolve()
},1000)
}
}
var box1 = async function(){
var arr = []
for(var i=0;i<5;i++){
await asyncFunc(arr,i)
}
console.log(arr)
}
box1()
(4)即时执行函数打印数值
function buildList(list){
var result = []
for(var i=0;i<list.length;i++){
var item = 'item' + list[i] // item6 item7 item8
result.push(function(index,it){
return function(){
console.log(it + ' ' + list[index])
}
}(i,item))
}
return result
}
function testList(){
var fnList = buildList([6,7,8])
for(j=0;j<fnList.length;j++){
fnList[j]()
}
}
testList()
7.js求n个数中的最大值
// 求n个数中的最大值
function getMax(arr) {
var max = arr[0];
for (var i = 1; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
console.log(max);
}
var array = [12, 17, 9, 0, 90]getMax(array) // 90
8.js获取本周、本月时间区间
未完待续......
相关文章:
92.更新一些收藏的经验贴总结学习
一、JS相关 1.进制转换 (1)十进制转二进制 十进制数除2取余法:十进制数除2,余数为权位上的数,得到的商继续除2,直到商为0。最后余数从下往上取值。 (2)二进制转十进制 把二进制…...
mysql 问题解决 4
7、集群 7.1 日志 1、MySQL 中有哪些常见日志? MySQL 中有以下常见的日志类型: 错误日志(Error Log):记录 MySQL 服务器在运行过程中出现的错误信息。通用查询日志(General Query Log):记录所有连接到 MySQL 服务器的 SQL 查询语句。慢查询日志(Slow Query Log):…...
llama-7B、vicuna-7b-delta-v1.1和vicuna-7b-v1.3——使用体验
Chatgpt的出现给NLP领域带来了让人振奋的消息,可以很逼真的模拟人的对话,回答人们提出的问题,不过Chatgpt参数量,规模,训练代价都很昂贵。 幸运的是,出现了开源的一些相对小的模型,可以在本地或…...
深入理解JVM虚拟机第十九篇:JVM字节码中方法内部的结构和与局部变量表中变量槽的介绍
大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻JVM 本文章简介:话不多说,让我们讲清楚虚拟机栈存储结构和运行原理 文章目…...

windows好玩的cmd命令
颜色 后边的数字查表吧,反正我是喜欢一个随机的数字 color 01MAC getmac /v更新主机IP地址 通过DHCP更新 ipconfig /release ipconfig /renew改标题 title code with 你想要的标题...

线扫相机DALSA--常见问题四:修改相机参数,参数保存无效情况
该问题是操作不当,未按照正常步骤保存参数所致,相机为RAM机制,参数需保存在采集卡的ROM内。 保存参数步骤: ①首先将相机参数保存至User Set1; ②然后回到Board(采集卡)参数设置区,鼠标选中Basic Timing&a…...
linux中用date命令获取昨天、明天或多天前后的日期
在实际操作中,一些脚本中会调用明天,或者昨天,或更多天前的日期,本文将叙述讲述用date命令实现时间的显示。在Linux系统中用man date -d 查询的参数说的比较模糊,以下举例进一步说明: # man date -d, --da…...

【无标题】360压缩软件怎么用?超级好用!
360压缩是一款功能强大的解压缩软件,如何用它压缩文件呢?下面给出了详细的操作步骤。 一、360压缩详细步骤 1、下载软件后,在电脑上右击需要压缩的文件,在弹出的菜单中点击【添加到压缩文件】选项。 2、在360压缩窗口中按需设置相…...

一图搞懂傅里叶变换(FT)、DTFT、DFS和DFT之间的关系
自然界中的信号都是模拟信号,计算机无法处理,因此我们会基于奈奎斯特定理对模拟信号采样得到数字信号。 但是我们发现,即便是经过采样,在时域上得到了数字信号,而在频域上还是连续信号。 因此我们可以在时域中选取N点…...

行情分析——加密货币市场大盘走势(11.7)
大饼昨日下跌过后开始有回调的迹象,现在还是在做指标修复,大饼的策略保持逢低做多。稳健的依然是不碰,目前涨不上去,跌不下来。 以太昨天给的策略,依然有效,现在以太坊开始回调。 目前来看,回踩…...

阿里微服务质量保障系列:故障演练
对于很多大型企业(如阿里巴巴)来说,经过多年的技术演进,系统工具和架构已经高度垂直化,服务器规模也达到了比较大的体量。当服务规模大于一定量(如10000台)时,小概率的硬件故障每天都会发生。这时如果需要人的干预,系统就无法可靠的伸缩。 为此每一层的系统都会面向失…...

基于springboot+vue开发的教师工作量管理系
教师工作量管理系 springboot31 源码合集:www.yuque.com/mick-hanyi/javaweb 源码下载:博主私 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了教师工作量管理系统的开发全过程。通过…...
【NI-DAQmx入门】NI-DAQmx之C、C++、VB、VB.net与C#支持
DAQmx应用程序编程接口(API) DAQmx附带数据采集编程所需的API。DAQmx API只是一组库,其中包含关于如何执行所有数据采集操作的函数。这些API支持LabWindows/CVI、C、C、Visual Basic 6.0、VB.NET和C#。 DAQmx API随DAQmx驱动程序一起安装,包含以下参考…...
python转xml为json
以下代码取自获取PA防火墙策略XML文件并转为JSON文件的场景: 通过PA防火墙API获取防火墙策略 防火墙策略xpath为./result/security/rules/entry 以下代码实现将所有entry即策略与策略相关属性转为json对象并存储至文件 import xml.etree.ElementTree as ET import …...
PHP Curl请求封装
php 中curl请求模块封装 <?php namespace App\Utils;/*** http 工具类* author Administrator**/ class HttpUtils {private static $_instance;private function __construct(){}public static function getInstance(){if( null self::$_instance ){self::$_instance n…...
java list set 特性
List的常用实现类 ArrayList (常用) JDK1.2 底层数组实现 查询快,增删慢 线程不安全,效率高 LinkedList JDK1.2 底层链表实现 查询慢,增删快 线程不安全,效率高 Vector JDK1.0 底层数组实现 都慢 线程安全,效率低 List 集合名new 实现类(); 常用方法 集合名.方法名(实参列表…...
Docker 用centos 编译安装apache
Docker 用centos 编译安装apache 前提条件: 安装docker 如果想安装docker请查阅:安装docker 环境准备:centos8 拉取centos镜像 [rootlvs docker]# docker pull centos:8 8: Pulling from library/centos a1d0c7532777: Pull complete Di…...

专访虚拟人科技:如何利用 3DCAT 实时云渲染打造元宇宙空间
自古以来,人们对理想世界的探索从未停止,而最近元宇宙的热潮加速了这一步伐,带来了许多新的应用。作为元宇宙的关键入口,虚拟现实(VR)将成为连接虚拟和现实的桥梁。苹果发布的VISION PRO头戴设备将人们对VR…...

第三章:人工智能深度学习教程-基础神经网络(第二节-ANN 和 BNN 的区别)
在本文中,我们将了解单层感知器及其使用 TensorFlow 库在Python中的实现。神经网络的工作方式与我们的生物神经元的工作方式相同。 生物神经元的结构 生物神经元具有三个基本功能 接收外部信号。 处理信号并增强是否需要发送信息。 将信号传递给目标细胞&#x…...

回归模型原理总结及代码实现
前言 本文将介绍回归模型算法,并总结了一些常用的除线性回归模型之外的模型,其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...