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

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.进制转换 &#xff08;1&#xff09;十进制转二进制 十进制数除2取余法&#xff1a;十进制数除2&#xff0c;余数为权位上的数&#xff0c;得到的商继续除2&#xff0c;直到商为0。最后余数从下往上取值。 &#xff08;2&#xff09;二进制转十进制 把二进制…...

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领域带来了让人振奋的消息&#xff0c;可以很逼真的模拟人的对话&#xff0c;回答人们提出的问题&#xff0c;不过Chatgpt参数量&#xff0c;规模&#xff0c;训练代价都很昂贵。 幸运的是&#xff0c;出现了开源的一些相对小的模型&#xff0c;可以在本地或…...

深入理解JVM虚拟机第十九篇:JVM字节码中方法内部的结构和与局部变量表中变量槽的介绍

大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻JVM 本文章简介:话不多说,让我们讲清楚虚拟机栈存储结构和运行原理 文章目…...

windows好玩的cmd命令

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

线扫相机DALSA--常见问题四:修改相机参数,参数保存无效情况

该问题是操作不当&#xff0c;未按照正常步骤保存参数所致&#xff0c;相机为RAM机制&#xff0c;参数需保存在采集卡的ROM内。 保存参数步骤&#xff1a; ①首先将相机参数保存至User Set1&#xff1b; ②然后回到Board(采集卡)参数设置区&#xff0c;鼠标选中Basic Timing&a…...

linux中用date命令获取昨天、明天或多天前后的日期

在实际操作中&#xff0c;一些脚本中会调用明天&#xff0c;或者昨天&#xff0c;或更多天前的日期&#xff0c;本文将叙述讲述用date命令实现时间的显示。在Linux系统中用man date -d 查询的参数说的比较模糊&#xff0c;以下举例进一步说明&#xff1a; # man date -d, --da…...

【无标题】360压缩软件怎么用?超级好用!

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

一图搞懂傅里叶变换(FT)、DTFT、DFS和DFT之间的关系

自然界中的信号都是模拟信号&#xff0c;计算机无法处理&#xff0c;因此我们会基于奈奎斯特定理对模拟信号采样得到数字信号。 但是我们发现&#xff0c;即便是经过采样&#xff0c;在时域上得到了数字信号&#xff0c;而在频域上还是连续信号。 因此我们可以在时域中选取N点…...

行情分析——加密货币市场大盘走势(11.7)

大饼昨日下跌过后开始有回调的迹象&#xff0c;现在还是在做指标修复&#xff0c;大饼的策略保持逢低做多。稳健的依然是不碰&#xff0c;目前涨不上去&#xff0c;跌不下来。 以太昨天给的策略&#xff0c;依然有效&#xff0c;现在以太坊开始回调。 目前来看&#xff0c;回踩…...

阿里微服务质量保障系列:故障演练

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

基于springboot+vue开发的教师工作量管理系

教师工作量管理系 springboot31 源码合集&#xff1a;www.yuque.com/mick-hanyi/javaweb 源码下载&#xff1a;博主私 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了教师工作量管理系统的开发全过程。通过…...

【NI-DAQmx入门】NI-DAQmx之C、C++、VB、VB.net与C#支持

DAQmx应用程序编程接口(API) DAQmx附带数据采集编程所需的API。DAQmx API只是一组库&#xff0c;其中包含关于如何执行所有数据采集操作的函数。这些API支持LabWindows/CVI、C、C、Visual Basic 6.0、VB.NET和C#。 DAQmx API随DAQmx驱动程序一起安装&#xff0c;包含以下参考…...

python转xml为json

以下代码取自获取PA防火墙策略XML文件并转为JSON文件的场景&#xff1a; 通过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 前提条件&#xff1a; 安装docker 如果想安装docker请查阅&#xff1a;安装docker 环境准备&#xff1a;centos8 拉取centos镜像 [rootlvs docker]# docker pull centos:8 8: Pulling from library/centos a1d0c7532777: Pull complete Di…...

专访虚拟人科技:如何利用 3DCAT 实时云渲染打造元宇宙空间

自古以来&#xff0c;人们对理想世界的探索从未停止&#xff0c;而最近元宇宙的热潮加速了这一步伐&#xff0c;带来了许多新的应用。作为元宇宙的关键入口&#xff0c;虚拟现实&#xff08;VR&#xff09;将成为连接虚拟和现实的桥梁。苹果发布的VISION PRO头戴设备将人们对VR…...

第三章:人工智能深度学习教程-基础神经网络(第二节-ANN 和 BNN 的区别)

在本文中&#xff0c;我们将了解单层感知器及其使用 TensorFlow 库在Python中的实现。神经网络的工作方式与我们的生物神经元的工作方式相同。 生物神经元的结构 生物神经元具有三个基本功能 接收外部信号。 处理信号并增强是否需要发送信息。 将信号传递给目标细胞&#x…...

回归模型原理总结及代码实现

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

网络编程(Modbus进阶)

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

业务系统对接大模型的基础方案:架构设计与关键步骤

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

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从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&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 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 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...