![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
fullyouth
打怪升级中~
展开
-
图解js的继承
继承github地址1. 概念继承是面向对象编程的基石。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法1.1 继承的优点:提取公共代码,减少代码重复性提高代码可维护性让类与类之间产生了关系,是多态的前提1.2 继承的类型:单继承多继承不同类继承同一个类多继承2. js的继承js本身最开始的设计只是为了实现网页提交表单时做个表单验证等简单功能现在web端越来越重,导致js不得不持续更新完善自己,来支持实现越来越复杂的需求所以经常会看到一原创 2020-12-06 03:04:21 · 361 阅读 · 0 评论 -
es6系列之symbol
概述Symbol 新的基本数据类型,表示独一无二的值。前6中 undefined null number boolean string object对象的属性名可以有2中类型 string symbol使用Symbol函数可接受字符串作为参数,表示实例的描述,没有实际用处const s1 = Symbol('123')console.log(s1) // Symbol(123)Symbol参数如果是对象``数组等实例具有toString属性的,会将其转换为字符串(调用实例方法toStrin原创 2020-09-03 11:19:09 · 282 阅读 · 0 评论 -
手写bind call apply函数
applyFunction.prototype.myApply = function (thisArg, ArgArray) { if (typeof thisArg == 'undefined' || typeof thisArg == null) { thisArg = window } let fnSymbol = Symbol() thisArg[fnSymbol] = this let ret = thisArg[fnSymbol](...A原创 2020-07-20 14:23:25 · 220 阅读 · 0 评论 -
常用的js util函数
判断数据类型function type(target) { let ret = typeof (target); const TYPE_MAP = { "[object Array]": "array", "[object Object]": "object", "[object Number]": "number", "[object Boolean]": "boolean", "[object String]": 'string' }; if原创 2020-06-09 23:27:52 · 1037 阅读 · 0 评论 -
javascript的垃圾回收机制,内存管理机制,作用域链一系列问题
最近一直热衷于计算机组成原理,会抽空看下<<计算机组成原理>>和B站的视频,遇到了很多自己不明白的地方,然后在去查资料搜索相关的知识.本文仅是对自己看到的想到的一些知识做一些总结和梳理,并不是一个全方位的系统的 内存管理, 垃圾回收机制,作用域 的讲解.javascript中的 基础数据类型 存储在内存中的 栈区,引用数据类型 存储在内存中的 堆区现代浏览器 的垃圾回收机制是采用 标记清除法,ie8 以下是 引用计数法全局变量,闭包,计时器 容易造成内存泄漏如果能把上面原创 2020-05-31 17:39:54 · 311 阅读 · 0 评论 -
随机打算数组【洗牌算法】
// 洗牌算法var a = [1,2,3,4,5,6,7,8,9];//方法1function randomList(arr){ var newArr = []; while(arr.length > 0){ //从现有的数组中随机找一个放入新数组中 var random = Math.floor(Math.random() * arr.l...原创 2019-09-05 22:46:28 · 209 阅读 · 0 评论 -
js深拷贝
递归function deepCopy(arg){ var result = Array.isArray(arg) ?[]: {}; for(let key in arg){ if(obj.hasOwnProperty(key)){ if(typeof arg[key] === 'object'){ resu...原创 2019-09-05 22:42:31 · 112 阅读 · 0 评论 -
js函数参数传递
js函数参数传递《JS高程3》4.1.3中:ECMAScript中所有函数的参数都是按值传递的。也就是说,把函数外部的值复制为函数内部的参数,就和把值从一个变量复制到另一个变量一样。正如书中所说,“有不少开发人员在这一点上可能感到困惑”,很不幸,我就是那一部分人。本文一是看高程整理的笔记,另一方面是自己有很多不理解的地方,望理解的可以解开我的困惑。以下内容红色部分为是我自己内心yy,就是我...原创 2019-07-14 00:33:49 · 334 阅读 · 3 评论 -
数组常用方法
map:新建一个数组,不改变原数组,return 值为数组相应值filter:新建一个数组,不改变原数组,return ture返回数组值,false不返回forEach:无返回值,无法return 跳出循环...原创 2019-04-04 10:30:25 · 119 阅读 · 0 评论 -
获取对象自身的属性
问题找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)1、返回数组,格式为 key: value2、结果数组不要求顺序答案Object.keys 方法(156 ms)返回可枚举的实例属性的数组。function iterate(obj) { return Object.keys(obj).map(function(key) { ...原创 2019-04-04 10:02:15 · 1220 阅读 · 0 评论 -
移除数组中元素(直接改变原数组)
题目描述移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回splice,递增遍历function removeWithoutCopy(arr, item) { var length = arr.length for(var i = 0; i < length ; i++){ if(arr[i] == ...原创 2019-01-04 10:19:11 · 2067 阅读 · 0 评论 -
js移除数组中元素
题目描述移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组filterfunction remove(arr, item) { return arr.filter(function(cur,index,src){ if(cur === item){ return false } ...原创 2019-01-04 09:57:11 · 6166 阅读 · 0 评论