前端开发过程中常用的方法

前端开发常用哪些工具软件? 前端开发必备工具,一篇文章一网打尽 文章目录 一、前端提高“生产力”工具 1.WebStorm 2. 远程开发 - VSCode 3. 接口测试 - Postman 4.API在线文档生成和测试 - SwaggerUI 5.抓包工具 - Wireshark 6.通用数据库管理 - DBeaver 7.MD编辑器 - Typora 8.虚拟机 - VirtualBox 9.Git存储库托管 - GitHub 10.项目管理 - Trello 二、提升前端技能的2... 阅读详情
  • 封装并引入方法

import * as zqw from 'zqw_tools';

方法列表

zqw.throttle(fn, delay)

某方法需要节流执行,传入方法和时延值

引入版本

1.0.0

参数
zqw.throttle(fn, delay)

1、fn (function): 需要节流执行的方法
2、delay(number): 时延值,单位:ms

例子
function throttleFun() {};
let fun = zqw.throttle(throttleFun, 100);

========================================================================

zqw.findMaxMinVal(type, arr)

根据type查找传入arr数组中的最大或最小值

引入版本

1.0.0

参数

1、type (string): "max"或"min"
2、arr(array):

返回值

(number): 返回过滤出来的最大或最小值

例子
let arr = [1, 22, 3, 68, 98];
let num = zqw.findMaxMinVal('min', arr);

console.log(num)
// => 1

========================================================================

zqw.findAvg(arr)

根据传入arr数组,计算平均值

引入版本

1.0.0

参数

1、arr (array): 需要计算平均值的数组

返回值

(number): 返回过滤出来的平均值

例子
let arr = [1, 22, 3, 68, 98];
let num = zqw.findAvg(arr);

console.log(num)
// => 38.4

========================================================================

zqw.upFloat2Decimal(floatNum)

根据传入数字向上取两位小数

引入版本

1.0.0

参数

1、floatNum (number): 小数

返回值

(number): 返回过滤出来向上取两位小数的值

例子
let floatNum = 0.23222;
let num = zqw.upFloat2Decimal(floatNum);

console.log(num)
// => 0.24

========================================================================

zqw.keep2Decimal(floatNum)

根据传入数字四舍五入保留2位小数

引入版本

1.0.0

参数

1、floatNum (number): 小数

返回值

(number): 四舍五入保留2位小数(若第二位小数为0,则保留一位小数)

例子
let floatNum = 0.23422;
let num = zqw.keep2Decimal(floatNum);

console.log(num)
// => 0.23

========================================================================

zqw.fourDecimal2Percent(floatNum)

根据传入数字,小数点直接截取四位并转化成百分数

引入版本

1.0.0

参数

1、floatNum (number): 小数

返回值

(number): 小数点直接截取四位并转化成百分数

例子
let floatNum = 0.23422;
let num = zqw.fourDecimal2Percent(floatNum);

console.log(num)
// => 23.42%

========================================================================

zqw.accMul(num1, num2)

根据传入数字,解决浮点数乘法丢失精度问题

引入版本

1.0.0

参数

1、num1 (number):
2、num2 (number):

返回值

(number): 根据传入数字,解决浮点数乘法丢失精度问题

例子
let floatNum = 0.23422;
let num2 = 2;
let num = zqw.accMul(floatNum, num2);

console.log(num)
// => 0.46844
建议使用

decimal.js

========================================================================

zqw.accAdd(num1, num2)

根据传入数字,解决浮点数加法丢失精度问题

引入版本

1.0.0

参数

1、num1 (number):
2、num2 (number):

返回值

(number): 根据传入数字,解决浮点数加法丢失精度问题

例子
let floatNum = 0.1;
let num2 = 0.2;
let num = zqw.accAdd(floatNum, num2);

console.log(num)
// => 0.3

========================================================================

zqw.checkDecimal(num1)

根据传入数字,判断数字是否为小数

引入版本

1.0.0

参数

1、num1 (number):

返回值

(boolean): 根据传入数字,判断数字是否为小数,返回布尔值

例子
let num1 = 0.2;
let boolean1 = zqw.checkDecimal(num1);

console.log(boolean1)
// => true

========================================================================

zqw.getMedian(arr)

根据传入数组,计算数组的中位数

引入版本

1.0.0

参数

1、arr (array):

返回值

(number): 根据传入数组,计算出来的中位数

例子
let arr = [2, 5, 8, 3];
let num = zqw.getMedian(arr);

console.log(num)
// => 4

========================================================================

zqw.getColorRandom()

随机生成颜色

引入版本

1.0.0

参数

1、

返回值

(color): 随机生成颜色

例子
let color = zqw.getColorRandom();

console.log(color)
// => #6740FD

========================================================================

zqw.arrRemoveRepeat(arr)

根据传入数组,去除重复值

引入版本

1.0.0

参数

1、arr (array):

返回值

(array): 根据传入数组,去除重复值,返回新数组

例子
let arr = [2, 5, 8, 3, 5];
let resArr = zqw.arrRemoveRepeat(arr);

console.log(resArr)
// => [2, 5, 8, 3]

========================================================================

zqw.arrKeyRemoveRepeat(arr, key)

根据传入数组和key,去除重复值

引入版本

1.0.0

参数

1、arr (array):
2、key (string):

返回值

(array): 根据传入数组和key,去除重复值,返回新数组

例子
let arr = [2, 5, 8, 3, 5];
let key = "id"
let resArr = zqw.arrKeyRemoveRepeat(arr, key);

console.log(resArr)
// => 4

========================================================================

zqw.getCookie(sName)

根据传入key,获取cookie中的值

引入版本

1.0.0

参数

1、key (string):

返回值

(string): 根据传入key,获取cookie中的值,返回cookie值

例子
let sName = "id"
let val = zqw.getCookie(sName);

console.log(val)
// => cookie中key=id的值

=======================================================================

zqw.removeCookie(sName)

根据传入key,删除对应的cookie,并重新设置cookie

引入版本

1.0.0

参数

1、key (string):

返回值

():

例子
let sName = "id"
zqw.removeCookie(sName);

// => cookie中key=id的值

========================================================================

zqw.judgeDataType(anything)

根据传入anything,传入需要判断数据类型

引入版本

1.0.0

参数

1、anything (string|Number|object|boolean|null|undefine|array|Date):

返回值

(string):String|Number|Boolean|Null|Undefined|Array|Object|Date

例子
let anything = "id" 
let any = zqw.judgeDataType(anything);

console.log(any)
// => String

========================================================================

zqw.getRepeatNum(arr)

根据传入arr,传入需要计算元素重复的个数

引入版本

1.0.0

参数

1、arr (array):

返回值

(object):

例子
let arr = [1,2,1,3]
let obj = zqw.getRepeatNum(arr);

console.log(obj)
// => {1: 2, 2: 1, 3: 1}

========================================================================

zqw.getStrsum(str, char)

根据传入str,传入需要计算元素重复个数的char

引入版本

1.0.0

参数

1、str (string):
2、char (char):

返回值

(number):

例子
let str = "abaac"
let num = zqw.getStrsum(str, "a");

console.log(num)
// => 3

========================================================================

zqw.html2Escape(sHtml)

根据传入sHtml,转换特殊字符(<|>|...)

引入版本

1.0.0

参数

1、sHtml (html-string): html字符串

返回值

(string):

例子
let str = "<html>"
let escapeStr = zqw.html2Escape(str);

console.log(escapeStr)
// => &lt;html&gt;

========================================================================

zqw.escape2Html(sHtml)

根据传入转换特殊字符(<|>|...)的sHtml,转换成HTML格式的字符串

引入版本

1.0.0

参数

1、sHtml (html-escape): 转换escape后的html字符串

返回值

(string):

例子
let str = "&lt;html&gt;"
let escapeStr = zqw.escape2Html(str);

console.log(escapeStr)
// => <html>

========================================================================

zqw.uniqueFunc(obj, uniKey)

根据传入[obj]数组对象,传入uniKey根据去重的key值

引入版本

1.0.0

参数

1、obj ([object]): 数组对象

返回值

([object]):去重后的数组对象

例子
let arr = [{a: 111, b: 222}, {a: 222, b: 333}, {a: 222, b: 333}, {a: 222, b: 333, c: 444}]
let obj = zqw.uniqueFunc(arr, "a");

console.log(obj)
// => [{a: 111, b: 222}, {a: 222, b: 333}]

========================================================================

其他请看下面源码集合...

========================================================================

源码集合

//节流
function throttle(fn, delay) {
    var t = null,
        begin = new Date().getTime();
    return function () {
        var _self = this,
            args = arguments,
            cur = new Date().getTime();
        clearTimeout(t);
        if (cur - begin >= delay) {
            fn.apply(_self, args);
            begin = cur;
        } else {
            t = setTimeout(function () {
                fn.apply(_self, args);
            }, delay);
        }
    };
}

// 查找最大最小值
function findMaxMinVal(type, arr) {
    // return type === "max" ? Math.max.apply(Math, arr) : Math.min.apply(Math, arr);
    arr.sort((a, b) => {
        return a - b;
    })
    return type === "max" ? arr[arr.length - 1] : arr[0];
}

// 数组求平均数
function findAvg(arr) {
    let sum = arr.reduce(function(prev, curr, idx, arr){
        return prev + curr;
    });
    return this.upFloat(sum / arr.length);
}

// 向上取两位小数
function upFloat(data) {
    let num = data * 1000
    let result = Math.ceil(num) / 1000
    if (String(result).substring(String(result).indexOf('.')).length > 3) {
        return Math.ceil(result * 100) / 100
    } else {
        return result
    }
}

// 向下取两位小数
function downFloat(data) {
    let num = data * 1000
    let result = Math.ceil(num) / 1000
    if (String(result).substring(String(result).indexOf('.')).length > 3) {
        return Math.floor(result * 100) / 100
    } else {
        return result
    }
}

//四舍五入保留2位小数(若第二位小数为0,则保留一位小数)
function keepTwoDecimal(num) {
    let result = parseFloat(num);
    if(isNaN(result)) {
        return false;
    }
    result = Math.round(num * 100) / 100;
    return result;
}

// 小数点直接截取四位并转化成百分数
function changeDecimalToPercentage(floatNum) {
    if(floatNum === 0) return "0%";

    let numStr = floatNum + "";
    let percentNum = checkDecimal(floatNum) ? accMul(numStr.substring(0, numStr.indexOf(".") + 5), 100) + "%" : floatNum ? accMul(floatNum, 100) + "%" : floatNum;
    return percentNum;
}

// 解决浮点数乘法丢失精度问题
function accMul(arg1,arg2) {
    let m = 0,
        s1 = arg1.toString(),
        s2 = arg2.toString();
    try { m += s1.split(".")[1].length } catch(e) {}
    try { m += s2.split(".")[1].length } catch(e) {}
    return Number(s1.replace(".","")) * Number(s2.replace(".","")) / Math.pow(10, m);
}

// 判断数字是否为小数
function checkDecimal(num){
    let number = num + "";
    if(number.indexOf(".") !== -1){
        return true;
    }
    return false;
}

// 求数组中位数
function getMedian(arr) {
    if (arr.length % 2 === 0){
        // 100[50]               100[50+1]
        return this.upFloat((arr[arr.length / 2] + arr[arr.length / 2 + 1]) / 2)
    } else {
        return this.upFloat(arr[(arr.length + 1) / 2])
    }
}

//生成随机颜色
function getColorRandom(){
    let c="#";
    let cArray=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];
    for(let i = 0; i < 6; i++){
        let  cIndex = Math.round(Math.random() * 15);
        c += cArray[cIndex];
    }
    return c;
}

// 根据传入的字符串数组和截取标识符进行切割字符串为数组
function handleStrToArr(arr, flag, num) {
    let arrStr = [];
    arr.forEach(item => {
        arrStr.push(item === "ALL" ? "ALL" : item.includes(flag) ? item.split(flag)[num] : item)
    })

    return arrStr;
}

// 数组去重
function arrayDuplicateRemoval(arr) {
    let map = new Map();
    for (let item of arr) {
        if (!map.has(item.value)) {
            map.set(item.value, item);
        }
    }
    return [...map.values()];
}

// 转换时间格式
function transformTimeDate(time) {
    return Object.prototype.toString.call(time) === "[object Object]" ? moment(time).format("YYYY-MM-DD HH:mm:ss") : time;
}

// 判断值是否为Null
function isNull(num){
    return !num && typeof(num) != "undefined" && num != 0;
}

// 截取字符串
function handleSubstring(str, num) {
    return str.substring(0, num);
}

// 从cookies中获取某个值
function getCookie(sName) {
    let aCookie = document.cookie.split("; ");
    for (let i=0; i < aCookie.length; i++)
    {
        let aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0])
            return unescape(aCrumb[1]);
    }
    return null;
}

//删除指定cookie的值
function removeCookie(cname){
    let name = cname + "=";
    let ca = document.cookie.split(';');
    let cookieStr = "";
    for(let i = 0; i < ca.length; i++) {
        let c = ca[i].trim();
        if (c.indexOf(name) == 0) {
            document.cookie = c + ';expires=' + new Date(0).toUTCString()
        } else {
            cookieStr += c;
            cookieStr += ";";
        }
        document.cookie = cookieStr;
    }

}

// 数组对象去重
function deWeightThree(arrObj) {
    let map = new Map();
    for (let item of arrObj) {
        if (!map.has(item.value)) {
            map.set(item.value, item);
        }
    }
    return [...map.values()];
}

// 判断数据类型
function judgeDataType(obj) {
    let objType = Object.prototype.toString.call(obj);
    if(objType === "[object String]") {
        return "String";
    } else if(objType === "[object Number]") {
        return "Number";
    } else if(objType === "[object Boolean]") {
        return "Boolean";
    } else if(objType === "[object Null]") {
        return "Null";
    } else if(objType === "[object Undefined]") {
        return "Undefined";
    } else if(objType === "[object Array]") {
        return "Array";
    } else if(objType === "[object Object]") {
        return "Object";
    } else if(objType === "[object Date]") {
        return "Date";
    } else if(objType === "[object RegExp]") {
        return "RegExp";
    }
}

// 判断是否为{}
function judgeEmptyObject(obj) {
    return JSON.stringify(obj) === "{}";
}
// 判断对象是否为{},最正确的判断方式
function judgeEmptyObj(obj) {
    return Reflect.ownKeys(obj).length === 0;
}

// 获取数组中指定元素的重复个数
function getRepeatNum(arr) {
    return arr.reduce((prev, next) => {
        prev[next] = (prev[next] + 1) || 1;
        return prev;
    }, {})
}
function getArrRepeatNum(arr) {
    let newArr = [...new Set(arr)];
    let lastArr = [];
    newArr.forEach(item => {
        let num = 0
        arr.forEach(i => {
            if(item == i){
                num++
            }
        })
        lastArr.push({
            name: item,
            num
        })
    })
    return lastArr;
}

// 统计字符串中指定字符出现的个数
function getStrsum(str, a) {
    let b = str.indexOf(a); //a在字符串的索引
    let num = 0;
    while (b !== -1) {
        num++;
        b = str.indexOf(a, b + 1)
    }
    return num;
}

function html2Escape(sHtml) {
    return sHtml.replace(/[<>&"©]/gi,function(c){
        return {
            '<': '&lt;',
            '>': '&gt;',
            '&': '&amp;',
            '"': '&quot;',
            "©": "&copy;"
        }[c];
    });
}

function escape2Html(sHtml) {
    if (sHtml.length == 0) return "";
    sHtml = sHtml.replace(/&amp;/g, "&");
    sHtml = sHtml.replace(/&lt;/g, "<");
    sHtml = sHtml.replace(/&gt;/g, ">");
    sHtml = sHtml.replace(/&quot;/g, "\"");
    return sHtml;
}

// 数组对象去重
function uniqueFunc(arr, uniId){
    const res = new Map();
    return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1));
}

// 将科学计算数字转为完整数字
function toNonExponential(num) {
    let m = num.toExponential().match(/\d(?:.(\d*))?e([+-]\d+)/);
    return num.toFixed(Math.max(0, (m[1] || '').length - m[2]));
}

// 处理标签文字超出宽度显示省略号
function handleLegendText(text, len) {
    if(!text) {
        return "";
    }

    let str_length = 0;
    let str_len = text.length;
    let str_cut = "";
    for (let i = 0; i < str_len; i++) {
        let a = text.charAt(i);
        str_length++;
        if (escape(a).length > 4) {
            //中文字符的长度经编码之后大于4
            str_length++;
        }
        str_cut = str_cut.concat(a);
        if (str_length >= len) {
            str_cut = str_cut.concat("…");
            return str_cut;
        }
    }
    //如果给定字符串小于指定长度,则返回源字符串;
    if (str_length < len) {
        return text;
    }
}

function checkUrl(urlStr) {
    let Expression = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
    let objExp = new RegExp(Expression);
    if(objExp.test(urlStr) == true) {
        return true
    } else {
        return false
    }
}

// 将json数据导出为xls
function exportExcel(JSONData, FileName, title, filter, suffix="xls") {
    if (!JSONData) return;
    //转化json为object
    let arrData = typeof JSONData != "object" ? JSON.parse(JSONData) : JSONData;
    let excel = "<table>";
    //设置表头
    let row = "<tr>";
    if (title.length) { //使用标题项
        for (let i in title) {
            row += "<th align='center'>" + title[i]['ch'] + '_' + title[i]['en'] + "</th>";
        }
    } else {//不使用标题项
        for (let i in arrData[0]) {
            row += "<th align='center'>" + i + "</th>";
        }
    }
    excel += row + "</tr>";
    //设置数据
    for (let i = 0; i < arrData.length; i++) {
        let row = "<tr>";
        for (let index in arrData[i]) {
            //判断是否有过滤行
            if (filter) {
                if (filter.indexOf(index) == -1) {
                    let value = arrData[i][index] == null ? "" : arrData[i][index];
                    row += "<td>" + value + "</td>";
                }
            } else {
                let value = arrData[i][index] == null ? "" : arrData[i][index];
                row += "<td align='center'>" + value + "</td>";
            }
        }
        excel += row + "</tr>";
    }
    excel += "</table>";
    let excelFile =
        "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>";
    excelFile +=
        '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';
    excelFile +=
        '<meta http-equiv="content-type" content="application/vnd.ms-excel';
    excelFile += '; charset=UTF-8">';
    excelFile += "<head>";
    excelFile += "<!--[if gte mso 9]>";
    excelFile += "<xml>";
    excelFile += "<x:ExcelWorkbook>";
    excelFile += "<x:ExcelWorksheets>";
    excelFile += "<x:ExcelWorksheet>";
    excelFile += "<x:Name>";
    excelFile += "{worksheet}";
    excelFile += "</x:Name>";
    excelFile += "<x:WorksheetOptions>";
    excelFile += "<x:DisplayGridlines/>";
    excelFile += "</x:WorksheetOptions>";
    excelFile += "</x:ExcelWorksheet>";
    excelFile += "</x:ExcelWorksheets>";
    excelFile += "</x:ExcelWorkbook>";
    excelFile += "</xml>";
    excelFile += "<![endif]-->";
    excelFile += "</head>";
    excelFile += "<body>";
    excelFile += excel;
    excelFile += "</body>";
    excelFile += "</html>";
    let uri =
        "data:application/vnd.ms-excel;charset=utf-8," +
        encodeURIComponent(excelFile);
    let link = document.createElement("a");
    link.href = uri;
    link.style = "visibility:hidden";
    link.download = FileName + suffix;
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
}

// 将json数据导出为csv
function jsonToCsv(jsonData) {
    const csvRows = [];
    const headers = Object.keys(jsonData[0]);
    csvRows.push(headers.join(','));

    for (const row of jsonData) {
        const values = headers.map(header => {
            const escapeQuotes = ('' + row[header]).replace(/"/g, '\\"');
            return `"${escapeQuotes}"`;
        });
        csvRows.push(values.join(','));
    }

    return csvRows.join('\n');
}

// 获取文本长度;默认字体为微软雅黑 Microsoft YaHei,字体大小为 14px
function getTextWidth(text, font="14px Microsoft YaHei") {
    const canvas = document.createElement("canvas");
    let context = canvas.getContext("2d");
    context.font = font
    let textmetrics = context.measureText(text)
    return textmetrics.width;
}

// 获取每月的最后一天 28,29,30,31
function getLastDay(year, month) {
    let new_year = year; //取当前的年份
    let new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定)
    if(month>12) {
        new_month -= 12; //月份减
        new_year++; //年份增
    }
    let new_date = new Date(new_year, new_month, 1); //取当年当月中的第一天
    return ( new Date( new_date.getTime() - 1000 * 60 * 60 * 24 ) ).getDate();//获取当月最后一天日期
}


// 去除字符串首尾的所有空格
function removeBlankSpace(str) {
    return str.replace(/^\s+|\s+$/g, '');
}

// 数据对象按照指定字段再进行分组
function getArrayGroupByKey(originalArr, field) {
    let tempArr = [];
    let endData = [];
    for (let i = 0; i < originalArr.length; i++) {
        if (tempArr.indexOf(originalArr[i][field]) === -1) {
            endData.push({
                [field]: originalArr[i][field],
                data: [originalArr[i]]
            });
            tempArr.push(originalArr[i][field]);
        } else {
            for (let j = 0; j < endData.length; j++) {
                if (endData[j][field] == originalArr[i][field]) {
                    endData[j].data.push(originalArr[i]);
                    break;
                }
            }
        }
    }
    return endData;
}

// 判断是否为数字(包括小数)
function judgeIsNumber(num) {
    let reg = /^[+-]?\d+(\.\d+)?$/;
    return reg.test(num);
}

// 将全角字符串转换为半角字符串
function convertToHalfWidth(str) {
    let tmp = "";
    for(let i= 0; i < str.length; i++){
        if (str.charCodeAt(i) == 12288){
            tmp += String.fromCharCode(str.charCodeAt(i) - 12256);
            continue;
        }
        if(str.charCodeAt(i) > 65280 && str.charCodeAt(i) < 65375){
            tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
        }
        else{
            tmp += String.fromCharCode(str.charCodeAt(i));
        }
    }
    return tmp
}




各位技术大佬如果觉得有一点帮助,恳请高抬贵手点个收藏。。。

Web前端开发 HTML常用标签大全 本文全面介绍了HTML的常用标签,包括标签的结构、分类以及具体用法。超文本标记语言通过标签定义网页内容,文中提到双标签和单标签的使用,并示例了HTML文档的基本骨架。还介绍了注释、标题、段落、换行、文本格式化、图像、超链接、音频、视频等常见标签的定义和示例,强调了表单标签在用户信息收集中的重要性,如输入框、下拉菜单和按钮等。此外,文中提到了语义化标签,强调使用有语义的标签能提高网页可读性与结构清晰度。整体而言,文章为前端开发者提供了HTML标签知识的参考,适合初学者理解HTML基本元素及其应用 阅读详情

相关推荐

前端开发:JS中数组常用方法汇总

在前端开发中关于数组的使用想必前端开发者并不陌生,尤其是在处理业务逻辑的时候,从后端获取的数据类型中数组类型基本占到70%的比例,所以与其说是处理数据,不如说是处理数组,虽然说的有点夸张,前端实际开发中关于数组相关的使用在前端开发中是非常高频的,而且在前端求职面试时候关于数组相关的函数方法也是必考知识点,非常重要。那么本篇博文就来分享一下关于JS中数组常用的方法都有哪些?汇总起来,方便后期查阅使用。

全沾软贱开发攻城狮 1万+

前端开发过程中常用方法

记录前端常用的方法(主要包括数组对象字符串)

weixin_44953633的博客 474

论文精读——A Comprehensive Survey of Continual Learning: Theory, Method and Application

为了应对现实世界的动态性,智能系统需要在其整个生命周期中逐步获取、更新、积累并利用知识。这种能力被称为Continue Learning(持续学习)。从广义上讲,持续学习明显受到catastrophic forgetting(灾难性遗忘)的限制,即学习新任务通常会导致旧任务的性能急剧下降。Continue Learning的核心目的有二,其一为(稳定性与可塑性间的权衡),其二为(足够的任务内/任务间泛化能力)。

xsddys的博客 1241

前端开发过程中常用的JavaScript方法封装

前端开发过程中常用的JavaScript方法封装

qq_43474235的博客 192

雷达原理习题答案【西电】

  目前教材用的是陈老师新版的,但是,我发现课后题有一部分是之前某本书里的。答案如下【建议参看原题→查阅答案】 【原题点这里!!点这里!!】 目录跳转功能目前好像只支持网页版 文章目录% 第一章、第二章% 第三章% 第四章% 第五章% 第六章% 第七章% 第八章 % 第一章、第二章 % 第三章 % 第四章 % 第五章 % 第六章 % 第七章 % 第八章 ...

薛定谔的壳的博客 1万+

18650电池组流体直冷热管理仿真:COMSOL多物理场耦合建模路线与实战策略

在动力电池与储能系统的热管理设计中,多物理场耦合仿真已成为平衡性能与成本的关键工具。液冷方案的换热极限促使行业转向制冷剂直冷技术,而两相流与电池产热的强耦合特性,使得基于COMSOL的数值建模成为评估系统温升与流动分配的重要手段。工程实践中,电化学-热-流场全耦合模型与集总电池-流场简化模型各有适用场景,前者揭示电池内部微观机理,后者则以高计算效率支撑包级方案迭代。通过合理简化几何、标定内阻与熵热系数、设置等效换热边界,仿真能够准确预测直冷系统在快充或大倍率放电下的温度均匀性与压降特性,从而指导流道优化与制

weixin_33585822的博客 314

CSS实现垂直居中的常用方法   在前端开发过程中,盒子居中是常常用到的。其中 ,居中又可以分为水平居中和垂直居中。水平居中是比较容易的,直接设置元素的margin: 0 auto就可以实现。但是垂直

CSS实现垂直居中的常用方法   在前端开发过程中,盒子居中是常常用到的。其中 ,居中又可以分为水平居中和垂直居中。水平居中是比较容易的,直接设置元素的margin: 0 auto就可以实现。但是垂直居中相对来说是比较复杂一些的。下面我们一起来讨论一下实现垂直居中的方法。   首先,定义一个需要垂直居中的div元素,他的宽度和高度均为300px,背景色为橙色。代码如下:  D

meinanqihao的博客 416

工业场景落地:Java+PaddleOCR实现高性能OCR文字识别的终极方案

本文深度解析基于Java的高性能工业级OCR实现方案,集成PP-OCRv5深度学习模型,提供: ✅ 多场景支持:手写体、竖排文本、票据表格的精准识别 ✅ 工业级性能:毫秒级响应,支持GPU加速与高并发处理 ✅ 开箱即用:通过Maven快速集成,5行代码完成文字识别 ✅ 完整技术栈:覆盖文本检测、方向校正、识别后处理全流程 附可运行示例代码,助您快速构建企业级OCR系统!

deng775747758的博客 3611

JavaScript 常用方法

JavaScript 常用方法

正是修行时,正是修行时,正是修行时... 387

SAP SmartForms字体 :从OTF缓存溢出到完美解决

精准诊断:遇到错误,首先区分是图片过大还是字体嵌入导致。删除图片测试是最快的判别方法。字体上传规范始终从SE73入口上传用于表单打印的字体。强烈建议应用SAP Note 1301018,确保上传时勾选“不替换其他字体”,避免系统自动替换引发的意外问题。如需为同一字体族上传粗体、斜体等变体,请在SE73初始屏幕上勾选对应的属性框(如BOLD),然后分别上传对应的字体文件(如上传过程中,系统会提示输入RTF控制序列信息,这是确保打印预览正常显示的关键步骤,必须正确填写。方案选型快速止血:采用方案一(

Pegasus666的博客 294

索尼IMX316 标定_ToF模块相机校准

很多东西一开始给出去的并不是最优的方案,而是在客户端支持中,以及在持续不断的芯片验证中,发现还可以这么做,还能够再提升Sensor的性能,所以说这是一个持续的过程。曾经听说过一个故事,在某厂里ST产品一直作为第一供应商多年,然后近段时间即将被新兴公司的ToF产品所打败,性能报告已经出来,但是ST并没有更新产品,而是在原有产品更新了固件以及标定流程,此时产品的性能又是超越其他供应商的产品。相机矩阵不考虑镜头失真,因为理想的针孔相机没有镜头。为了准确地代表一个真实的相机,相机模型包括径向和切向的镜头畸变。

dream it possible 1154

前端开发中一些常用技巧总结

自己前端开发中常用到的一些技巧及问题解决方法,会常更新,希望对前端路上的朋友有帮助.1.文章标题列表中日期居右显示的方法: <p><span>2010-10-10</span>@Mr.Think这是文章标题</p> 然后定义span右浮动: p span{float:right} 其实这种方法可以延伸到很多情况下,很实用的一种...

weixin_30629653的博客 200

Orange3实战教程:文本挖掘---标注语料库地图

Oreange3,文本挖掘,标注语料库地图用于在二维投影中可视化、聚类文档,并用关键词进行标注。

err2008的专栏 818

信息系统开发方法常用方法总结

常用方法三种: 结构化方法:把整个系统的开发过程分为若干阶段,然后一步一步地依次进行,前一阶段是后一阶段的工作依据 原型法:本着开发人员对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求                •抛弃型原型、进化型原型 面向对象方法:将信息系统看作一起工作来完成某项任务的相互作用的对象的集合                

yifeng2016的博客 2742

c语言实现求一个矩阵特征值和特征向量

前言 求矩阵的特征值,主要是用的QR分解,在我的有一次博客里,我已经详细地给出了计算的过程,大家有兴趣可以去看下,经过几天的钻研,终于完成了整个的eig算法。下面我将把我的整个代码附上,有不懂的可以问我,欢迎一起讨论学习! 这是对上一次的修改版,上一次写的程序是在C++编译环境下编译的,所以放在c里面编译有些会出错。 最后,如果有不对的地方希望大...

qq_36417014的博客 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

常用原生JS方法总结(兼容性写法)

经常会用到原生JS来写前端。。。但是原生JS的一些方法在适应各个浏览器的时候写法有的也不怎么一样的。。。今天下班有点累。。。就来总结一下简单的东西吧……~~~~~~~~~封装一下,然后就...

LuckyWinty的博客 165

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

html常用语义,HTML基础之常用的语义化命名

在WEB前端开发过程中,给文件命名、class和id命名可能是大部分程序员遇到的难题。如何让命名更加清晰容易区分又带有语义化,可能并不简单。合理的文件命名、class和id命名可以使你的代码看起来更加高大上,而且后期也一目了然,方便维护。下面雷雪松带看看我们WEB开发过程中总结的一些HTML常用的语义化命名。(一) 常用的class命名头:header内容:content/container尾:f...

weixin_29103027的博客 287

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

前端开发常用方法

isInteger 想知道值是否为整数? JavaScript 的 NumberAPI 提供了一种被称为 isInteger() 方法,以此来了解值是否为整数。这是非常有用的,并且更加容易被注意到。 let myNum = 123 let myNumStr = '123' console.log(`${myNum} is a Number?`, Number.isInteger(myNum)) console.log(`${myNumStr} is a Number?`, Number.isInteger

szbszb1的博客 435

前端开发中常用类型的内置方法

/ 常用操作示例:// 1. 插入节点// 2. 删除节点// 3. 查找节点// 4. 遍历链表。

m0_72088449的博客 693

30个前端开发人员最常用的JavaScript方法及使用场景

本文总结了30个前端开发中常用的JavaScript方法,涵盖数组、字符串、对象和DOM操作等场景。包括数组的map、filter、reduce等转换方法,字符串的split、trim等处理方法,对象的keys、values等遍历方法,以及DOM操作和网络请求等实用功能。每个方法都配有典型应用示例,如筛选用户数据、解析JSON、添加事件监听器等。这些方法能帮助开发者高效处理常见开发需求,是前端开发必备的核心技能。文章还介绍了作者作为前端开发者的技术背景,并邀请读者交流经验。

Wait.End的博客 936

前端开发中,定位bug的几种常用方法

解决bug的方法

qq_45796592的博客 3667

前端开发中常用的工具方法

毫秒数转换成日期(格式:yyyy-mm-dd、yyyy-mm-dd hh:mm、yyyy-mm-dd hh:mm:ss)注意:微信浏览器判断要放在第一位,因为ios和android手机微信浏览器代理信息中都包含ios或者android。手机格式化(135 **** 1025、135-****-1025)前端开发中经常使用到的公用方法(使用的是ES6的语法)获取url地址参数(将url参数转成对象返回)过去了多长时间(几秒前、几分钟前、几小时前)就可以了,但是相同对象去重,不能使用这个方法。

廖龙东个人博客 334

Lodash 中前端开发常用的方法列表及注释

lodash

Angelclouds的博客 534

30个前端开发人员最常用的CSS方法及使用场景

摘要:本文介绍了30个前端开发常用的CSS属性与技术,涵盖布局、样式、动画和响应式设计等场景。关键方法包括:display用于布局控制(如Flex导航栏),position实现固定定位,margin/padding调整间距,flex/grid创建现代布局结构,以及font/color处理文本样式。还包含动画效果(transition/animation)、视觉增强(box-shadow/border-radius)和响应式设计(media queries)等实用技巧。每个方法都配有典型应用示例,如hover

Wait.End的博客 940

前端开发常用的开发工具

首先来给你说说前端开发常用的开发工具 基础人员编辑工具:Editplus,text 中级编辑工具:sublime,HBulider 高级编辑工具:websorm,VSCode 工欲善其事,必先利其器。一个好的编辑器,往往能帮助开发人员提高编码效率。下面小编为大家推荐几款前端常用的编辑器。 1.websorm WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经...

TENCENTSYS的博客 1223

前端开发常用工具

前端开发常用工具 文章目录前端开发常用工具前言一、常用的代码编辑工具二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 我们工作和生活种中都需要借助各种各样的工具,所以工具对我们来讲非常重要啊,有时候一个好的工具可以帮助我们事半功倍,下面的主要内容就是介绍开发中我们主要用到的各种工具。 提示:以下是本篇文章正文内容,下面案例可供参考 一、常用的代码编辑工具 Visual Studio Code (Vscode) 我目前自己也是用的这个编辑器 二、使用步骤 1.引入库

weixin_43279985的博客 1218
上一篇: grafana前端二次开发详细流程
下一篇: 2025年JavaScript新特性深度解析
codingMan_09
博客等级 码龄2年 29粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codingMan_09

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值