2022学习前端JavaScript方法封装49组常用代码-记得收藏

前言

说到JavaScript,我们先了解一下什么是JavaScript, JavaScript在一个程序里面起到了一个什么作用,为什么要去学习 JavaScript 以及程序员经常说的多学习 JavaScript 就能百炼成仙!

图片[1]-2022学习前端JavaScript方法封装49组常用代码 - 不二导师-记得收藏-不二导师

JavaScript它的一个缩写简称是“js”,是一个轻量级的编程语言 of 面向对象,它不仅可以用来控制浏览器中的页面交互,还可以借助”Node.js“作为服务器端的网站后台,所以大家都把它称作为JavaScript是一种全栈编程语言。

JavaScript它是可跨平台的解释语言,无需提前编译,可以在各种操作系统下很好的运行。

一个带有后台的简易的Web网站源码就是这几个东西组成,html、CSS、 JavaScript 也就是“JS代码”,我们平常使用的JS代码就这几十个,所以下面分享49组常用的JavaScript代码。

1、输入一个值,返回其数据类型**

function type(para) {
    return Object.prototype.toString.call(para)
}

2、数组去重

function unique1(arr) {
    return [...new Set(arr)]
}

function unique2(arr) {
    var obj = {};
    return arr.filter(ele => {
        if (!obj[ele]) {
            obj[ele] = true;
            return true;
        }
    })
}

function unique3(arr) {
    var result = [];
    arr.forEach(ele => {
        if (result.indexOf(ele) == -1) {
            result.push(ele)
        }
    })
    return result;
}

3、字符串去重

String.prototype.unique = function () {
    var obj = {},
        str = '',
        len = this.length;
    for (var i = 0; i < len; i++) {
        if (!obj[this[i]]) {
            str += this[i];
            obj[this[i]] = true;
        }
    }
    return str;
}

###### //去除连续的字符串 
function uniq(str) {
    return str.replace(/(\w)\1+/g, '$1')
}

4、深拷贝(深克隆)/浅拷贝( 浅 克隆)

//深克隆(深克隆不考虑函数)
function deepClone(obj, result) {
    var result = result || {};
    for (var prop in obj) {
        if (obj.hasOwnProperty(prop)) {
            if (typeof obj[prop] == 'object' && obj[prop] !== null) {
                // 引用值(obj/array)且不为null
                if (Object.prototype.toString.call(obj[prop]) == '[object Object]') {
                    // 对象
                    result[prop] = {};
                } else {
                    // 数组
                    result[prop] = [];
                }
                deepClone(obj[prop], result[prop])
    } else {
        // 原始值或func
        result[prop] = obj[prop]
    }
  }
}
return result;
}

// 深浅克隆是针对引用值
function deepClone(target) {
    if (typeof (target) !== 'object') {
        return target;
    }
    var result;
    if (Object.prototype.toString.call(target) == '[object Array]') {
        // 数组
        result = []
    } else {
        // 对象
        result = {};
    }
    for (var prop in target) {
        if (target.hasOwnProperty(prop)) {
            result[prop] = deepClone(target[prop])
        }
    }
    return result;
}
// 无法复制函数
var o1 = jsON.parse(jsON.stringify(obj1));

5、reverse底层原理和扩展

6、圣杯模式的继承

function inherit(Target, Origin) {
    function F() {};
    F.prototype = Origin.prototype;
    Target.prototype = new F();
    Target.prototype.constructor = Target;
    // 最终的原型指向
    Target.prop.uber = Origin.prototype;
}

7、找出字符串中第一次只出现一次的字母

String.prototype.firstAppear = function () {
    var obj = {},
        len = this.length;
    for (var i = 0; i < len; i++) {
        if (obj[this[i]]) {
            obj[this[i]]++;
        } else {
            obj[this[i]] = 1;
        }
    }
    for (var prop in obj) {
       if (obj[prop] == 1) {
         return prop;
       }
    }
}

1 2 3 4 5 6

温馨提示:本文最后更新于2022-01-12 13:12:45,某些文章具有时效性,若有错误或已失效,请在下方留言或联系不二大叔
------本页内容已结束,喜欢请分享------

© 版权声明
THE END

获取更多精彩文章请收藏本站

点赞68赞赏 分享
评论 抢沙发

请登录后发表评论