前言
说到JavaScript,我们先了解一下什么是JavaScript, JavaScript在一个程序里面起到了一个什么作用,为什么要去学习 JavaScript 以及程序员经常说的多学习 JavaScript 就能百炼成仙!
![图片[1]-2022学习前端JavaScript方法封装49组常用代码 - 不二导师-记得收藏-不二导师](https://img.buerds.com/wp-content/uploads/2022/01/2022011205104713.png)
JavaScript它的一个缩写简称是“js”,是一个轻量级的编程语言 of 面向对象,它不仅可以用来控制浏览器中的页面交互,还可以借助”Node.js“作为服务器端的网站后台,所以大家都把它称作为JavaScript是一种全栈编程语言。
JavaScript它是可跨平台的解释语言,无需提前编译,可以在各种操作系统下很好的运行。
一个带有后台的简易的Web网站源码就是这几个东西组成,html、CSS、 JavaScript 也就是“JS代码”,我们平常使用的JS代码就这几十个,所以下面分享49组常用的JavaScript代码。
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;
}
}
}
© 版权声明
THE END
请登录后发表评论
注册