![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 50
Oreohahaha
这个作者很懒,什么都没留下…
展开
-
原型和原型链
对于对象,都有一个隐藏属性 “[[Prototype]]”,可以通过 “proto” 来访问。可以叫做对象的原型js中,可以通过原型链来实现function原型属性的继承。js中的继承[1] [你不知道的JavaScript][2] [JavaScript高级程序设计][3] [mdn。原创 2023-10-25 19:49:02 · 491 阅读 · 0 评论 -
javascript中的继承
es6的继承本质上是es5继承的语法糖。es5的Object.create函数。对象间构造原型链实现属性的共享。原创 2023-10-25 19:42:01 · 433 阅读 · 0 评论 -
前端必会coding-深拷贝(deepClone)
前端必会的代码deepClone前端必会的代码deepClone两种实现方式coding利用json实现递归递归改进前端必会的代码deepClone两种实现方式曲线救国(JSON)常规思路(递归)coding利用json实现function jsonDeepClone(target) { return JSON.parse(JSON.stringify(target)); }// 测试const a = { b: { c: 1}, d: 1,}const a2 = {原创 2021-05-19 17:51:07 · 412 阅读 · 1 评论 -
最简单——最简单的实现useState
import React from 'react';import ReactDOM from 'react-dom';let _state;function myUseState(initialValue) { _state = _state || initialValue; function setState(newState) { _state = n...原创 2020-01-12 21:26:17 · 745 阅读 · 0 评论 -
node 作为中间层数据流向
node中间层数据流向http --> node.router --> node.controller --> node.service --> java接口原创 2019-05-09 14:34:37 · 321 阅读 · 0 评论 -
JavaScript原型对象
创建一个新函数,就会根据一组规则为该函数创建一个prototype属性,这个属性是指向函数的原型对象。在默认情况下,所有的原型对象都会自动获得一个constructor(构造函数)属性,这个属性是指向prototype属性所在函数的指针。创建了自定义的构造函数之后,其原型对象默认只会取得constructor属性。其他方法都是从Object继承而来的 console.log(Person....原创 2018-09-28 14:10:13 · 129 阅读 · 0 评论 -
面向对象的程序设计
理解JavaScript对象JavaScript创建对象的方法// new Object()let obj1 = new Object()// 对象字面量let obj2 = { name1: "name1", sayName: function() { return this.name }}在JavaScript对象中每个属性都有4个特性, 可以用definePr...原创 2019-05-14 23:57:43 · 87 阅读 · 0 评论 -
JavaScript函数入门之定义与参数----函数系列(2)
JavaScript函数(2)函数调用函数调用两个(隐式)参数argumentsthis(函数上下文)函数调用的四种方式作为一个函数调用作为一个方法调用作为一个构造函数通过函数的apply或者call调用解决函数上下文的问题另外两种方式箭头函数bind函数调用两个(隐式)参数arguments是什么:函数调用时传递的所有参数的集合this(函数上下文)是什么:函数调用时的上下文...原创 2019-05-24 14:29:32 · 141 阅读 · 0 评论 -
JavaScript简介
JavaScript简介简介简介掌握JavaScript:本质历史局限性广义上: JavaScript = ECMAscript(ECMA-262标准) + DOM(w3c标准) + BOM(纳入html5标准)狭义上: JavaScript = ECMAscript...原创 2019-05-12 01:02:47 · 83 阅读 · 0 评论 -
待了解的知识点
原型/原型链闭包(执行上下文/词法环境)作用域异步(事件循环/任务队列(宏/微任务))原创 2019-05-21 17:11:47 · 98 阅读 · 0 评论 -
JavaScript函数入门之定义与参数----函数系列(1)
JavaScript函数(1)定义与参数函数重要的理由函数作为对象函数的定义方式函数定义的四种方式:函数声明和函数表达式箭头函数函数的参数两个概念两个特殊的参数es6参数函数重要的理由在JavaScript对象可以做到的事情,函数几乎都可以做到,如:赋值,作为参数,作为函数返回值,动态创建,添加属性…函数也是对象,特殊之处在于函数可调用(invokable)回调函数函数作为对象可...原创 2019-05-22 23:52:07 · 96 阅读 · 0 评论 -
Jenkins实现前端自动化部署
Jenkins实现前端自动化部署背景如果没有自动化的部署过程,每次提交代码需要执行的操作有5步骤# 第一步,删除旧的文件夹rm -rf xxx# 第二步,下载更新后的文件git clone git@github.com:ococa/blog.git# 或者上传文件到服务器scp -r /User/testFile root@120.120.23.123:/root# 固定三步...原创 2019-07-04 23:03:49 · 670 阅读 · 0 评论 -
数据结构之双向链表
JavaScript实现双向链表链表数据结构创建链表在链表的任意位置插入元素从链表指定位置移除元素1. 双向链表数据结构双向链表,又稱為双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。 所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 一般我们都构造双向循环链表。(wiki百科)图片来自网络。2. 创建链表...原创 2018-09-22 22:19:27 · 144 阅读 · 0 评论 -
数据结构之单向链表
JavaScript实现链表链表数据结构向链表添加元素从链表移除元素使用LinkedList类双向链表循环链表1. 链表数据结构2. 创建链表function LinkedList() { let Node = function(element) { this.element = element; this.next = null; ...原创 2018-09-22 14:28:24 · 131 阅读 · 0 评论 -
JavaScript之创建对象
创建对象的方式:工厂模式构造函数模式原型模式组合使用构造函数模式和原型模式动态原型模式继承构造函数模式稳妥构造函数模式1. 工厂模式创建一个函数,用函数来封装以特定接口创建对象的细节。 function createPerson(name, age, job) { let o = new Object(); o.name = name;...原创 2018-09-27 17:24:47 · 84 阅读 · 0 评论 -
数据结构之栈
浅拷贝的实现方法var a = [];var b = a; // 数组的浅拷贝var c = {};var d = c; // 对象的浅拷贝深拷贝的实现方法数组的深拷贝// 利用es6 变量的结构赋值var a = [1, 2, 3];var [...b] = a;// 利用循环赋值var a1 = [1, 2, 3];var b2 = [];for (let i...原创 2018-09-17 23:50:31 · 244 阅读 · 0 评论 -
用promise手写ajax
用promise手写ajax首先promise的基本用法可以看上一篇 ES6之Promise对象创建proimiseconst getJson = function (url) { return new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open('GET'...转载 2018-09-15 16:50:27 · 934 阅读 · 0 评论 -
数据结构之字典
JavaScript实现字典字典数据结构创建字典1. 链表数据结构在计算机科学中,关联数组(英语:Associative Array),又称映射(Map)、字典(Dictionary)是一个抽象的数据结构,它包含着类似于(键,值)的有序对。完整代码const Dictionary = function() { let items = {}, length...原创 2018-09-23 13:19:28 · 250 阅读 · 0 评论 -
数据结构之散列表(Hash Table)
JavaScript实现散列表(hash map/ hash table)散列表数据结构hash table 代码改进后hash table 代码hash算法改进1. 双向链表数据结构散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速...原创 2018-09-23 14:33:25 · 307 阅读 · 0 评论 -
数据结构之二叉搜索树(BST)
JavaScript实现二叉搜索树(BST)二叉搜索树定义二叉搜索树JavaScript代码实现1. 二叉搜索树二叉查找树(英语:Binary Search Tree),也称为二叉搜索树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有节点的值均小于...原创 2018-09-23 16:03:18 · 235 阅读 · 0 评论 -
数据结构之排序算法
JavaScript实现排序算法代码实现const ArrayList = function() { let array = [], length = 0; this.insert = function(item) { array.push(item); length++; }; this.toString =...原创 2018-09-23 20:50:58 · 133 阅读 · 0 评论 -
JavaScript内存管理
JavaScript创建变量(对象,字符串等)时分配内存,并且在不再使用它们时“自动”释放。 后一个过程称为垃圾回收。这个“自动”是混乱的根源,并让JavaScript(和其他高级语言)开发者感觉他们可以不关心内存管理。 这是错误的。内存生命周期对于程序语言,内存生命周期基本是一致的:分配你所需要的内存;使用分配到的内存;不需要时将其释放/归还;所有的语言第二部分都是明确的,第一和...转载 2018-09-25 11:09:58 · 192 阅读 · 0 评论 -
数据结构之图
JavaScript实现图什么图代码实现1. 什么是图在數學的分支图论中,图(Graph)用于表示物件與物件之間的關係,是圖論的基本研究對象。一张圖由一些小圓點(稱為頂點或結點)和連結這些圓點的直線或曲線(稱為邊)組成。西尔维斯特在1878年首次提出“图”这一名词。 (wiki百科)2. 代码实现const Graph = function() { let vertice...原创 2018-09-25 14:56:59 · 103 阅读 · 0 评论 -
数据结构之数组
几乎所有的编程语言都原生支持数组,因为数组是最简单的内存数据结构。1.创建数组var array1 = new Array(); // 简单申明var array2 = new Array(7); // 申明定长的数组var array3 = new Array('one', 'two', 'three'); // 直接将数组元素传入最佳实践...原创 2018-09-20 10:52:34 · 323 阅读 · 0 评论 -
JavaScript数组方法及数组检测方法
方法总览concat连接两个或者更多数组,并返回结果var array = [1,3,4];var array2 = [2, 4, 6];array.concat(array2); // (6) [1, 3, 4, 2, 4, 6]every对数组中的每一项运行给定函数,如果该函数的每一项都返回true则返回true。相当于逻辑与var array = [1,3,4...原创 2018-09-20 12:14:57 · 422 阅读 · 0 评论 -
数据结构之队列
JavaScript实现队列队列数据结构创建队列向队列添加元素从队列移除元素查看队列头元素查看队列是否为空打印队列元素1. 队列数据结构栈是一种遵从先进先出(FIFO)原则的一组有序的项。队列在尾部添加新元素,并从头部移除元素。最新添加的元素必须排在队列的末尾。2. 创建队列创建一个类来表示栈。function Queue() { let items = [];}...原创 2018-09-20 14:56:25 · 345 阅读 · 0 评论 -
JavaScript之事件
事件流事件捕获事件冒泡DOM事件流事件处理程序HTML事件处理程序DOM3级实例DOM0级事件处理程序DOM2级事件处理程序IE事件处理程序跨浏览器事件处理程序...原创 2018-09-26 11:24:20 · 133 阅读 · 0 评论 -
JavaScript之事件类型
事件类型Web浏览器中可能发生的事件有很多类型。DOM3事件规定了以下几类事件:UI事件,当用户与页面上的元素交互时触发;焦点事件,当元素获得或失去焦点的时触发;鼠标事件,当用户通过鼠标在页面上执行操作时触发;滚轮事件,当用户通过鼠标滚轮或类似设备时触发;文本事件,当在文档中输入文本时触发;键盘事件,当用户通过键盘在页面执行操作时触发;合成事件,当为IME(input metho...原创 2018-09-27 12:32:16 · 159 阅读 · 0 评论 -
JavaScript事件的内存和性能
JavaScript中,添加到页面的事件处理程序数量直接关系到页面的整体运行性能。优化方法:事件委托,移除事件处理程序事件委托事件委托利用事件冒泡解决事件处理程序过多的问题,只指定一个事件处理程序就可以管理某一类型的所有事件。例子:// HTML <ul id="myLinks"> <li id="goSomewhere">go somew...原创 2018-09-27 14:16:58 · 162 阅读 · 0 评论 -
JavaScript基本数据类型和引用数据类型
数据类型的种类(七种)基本数据类型(或者叫原始类型,英文:primivates)nullundefinednumberbooleanstringsymbol引用数据类型(英文:reference type)Object functionDateRegExparray数据类型在计算机里的存储形式除 Object 以外的所有类型都是不可变的(值本身无法...转载 2018-09-17 23:16:22 · 1107 阅读 · 0 评论