自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Class

Class

2020-09-24 16:11:43 175

原创 js 杂货铺

语法糖语法糖(百度定义):也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。可以理解为我们汉语里面的成语,言简意赅,往往能够简单的几个字表达复杂的情感或者事件转换。看起来很明了,但是用起来很模糊,似乎感觉不到它的存在,但其实只要我们使用的es6的部分语法就已经运用到了语法糖的概念。functio

2020-09-17 09:18:41 191

原创 throw | Error | try catch

JS自定义异常try catchpromise then进入catchtry catchtry catch是ECMA-262第3版的时候引入的语法,用于捕捉js运行中的异常。但是,try catch并不能捕获判断结果,例如==判断,hasOwnProperty等。因为它只会捕捉代码异常,例如变量不存在,语法错误等。try{ //通常来讲,这里的代码会从头到尾而不会产生任何问题 //但有时会抛出一个异常,要么是由throw语句直接抛出,要么通过调用一个方法间接抛出}catch(e

2020-09-16 11:28:47 3667

原创 栈 | 堆 | 队列

本文只表述关于堆、栈、事件序列的简单理解栈(stack)堆(heap)队列(queue)JS中的堆和栈参考链接栈(stack)栈是一种高效的数据结构,遵循LIFO(last in first out)的的进出原则,也就是说,最后进入的元素会先出来。这样的操作很快,也很容易实现,在很多的编程语言中都有用到栈的概念。浏览器的前进后退功能就类似于栈的概念。简单的理解就是类似于我们砌墙,先砌的砖块总是在最下面,而最后砌的砖在最上面,当我们需要依次拆墙的时候,便会先拆上面的砖块,这就是LIFO。(这里排除将墙

2020-09-14 10:53:24 162

原创 JS Symbol

ES6新数据类型SymbolSymbol作用Symbol语法如何获取Symbol()对应属性值?其他SymbolSymbol英文翻译为符号,标记,象征。是JS在es6中继string、Boolean、number、null、undefined之后新增的基础数据类型,也叫原生数据类型。作为一个基础数据类型,用法与其他数据类型相似,但是不能使用new操作符,也就是说它并不是一个构造函数(例如:new Symbol())。console.log(typeof Symbol())// 'symbol'

2020-09-11 17:09:19 479

原创 proxy与Object.defineProperty

proxy与Object.definePropertyproxynew Proxy(obj, handler)改进handler的其他方法revocableObject.defineProperty详细介绍proxyProxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等),等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。好比某个明星有个微博,但是微博每天评论太多,没时间处理,便交给了一个运营平台全权处理。运营平

2020-09-04 11:02:13 249

原创 常用继承

涉及到原型链与构造函数的继承方式构造函数继承原型链继承组合继承组合继承优化组合继承最终关于原型原型链的介绍构造函数继承 function Person(name, age) {this.name = name; this.age = age}Person.prototype.print = function () { console.log(`${this.name}--=${this.age}`);}function Chinese(name, age) { Per

2020-09-04 10:36:05 100

原创 单例,工厂函数,构造函数

单例模式单例模式在开发当中,是将一个项目进行分组编写代码的模式,把描述同一个事物或者对象的属性和方法放在一个封装好的函数(内存空间)当中.按照我的理解就是,将需要的模块封装在一个内部环境中,暴露出一个接口,而且就算多次调用也都是值返回第一次的执行结果。const singleTest = function () { let ins = null; function newIns(i) { return i } return function getIns

2020-08-18 15:25:40 254

原创 Math

Math概述属性方法Math.abs():绝对值Math.ceil(),Math.floor()(向上取整与向下取整)Math.max(),Math.min()(最大值与最小值)Math.pow():幂运算Math.sqrt():平方根Math.log():自然对数Math.exp():e的指数Math.round():四舍五入Math.random():随机数三角函数方法概述Math是 JavaScript 的原生对象,提供各种数学功能。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Mat

2020-08-13 13:55:03 1254

原创 String

String概述静态方法String.fromCharCode()实例属性String.prototype.length 字符串长度实例方法includes(),startsWith(),endsWith()(ES6)String.prototype.charAt()(返回指定位置的字符)String.prototype.charCodeAt()(返回字符串指定位置的 Unicode 码点)String.prototype.concat()(字符串拼接)使用Set去重(ES6)String.prototyp

2020-08-13 13:21:38 241 1

原创 JSON

JSONJSON格式JSON对象JSON.stringify()基本用法JSON.stringify() 第二个参数JSON.stringify() 第三个参数参数对象的 toJSON 方法JSON.parse()JSON格式JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null 。它基于 JavaScript 语法,但与之不同:JavaScript不是JSON,JSON也不是JavaScript。JSON 格式(JavaScript Object Notation 的缩写)

2020-08-13 10:17:54 136

原创 Array

Array对象构造函数静态方法Array.isArray()(判断参数是否为数组)实例方法find()和findIndex()(返回数组满足函数的一个元素,索引)valueOf()和toString()(对象值和转字符串)push() 和pop()(从后面添加和删除)shift()和unShift()(从头删除和添加)join()(数组转字符串,指定分隔符)concat()(数组合并)reverse()(数组反序)slice() (截取数组,原数组不变)splice()(截取数组,修改原数组)sort()(

2020-08-12 16:54:29 334

原创 JS中属性描述对象

属性描述对象概述Object.getOwnPropertyDescriptor()(获取属性描述对象)Object.getOwnPropertyNames()(返回对象键值列表)Object.defineProperty()和Object.defineProperties()(添加属性及设置描述对象)Object.prototype.propertyIsEnumerable()(属性是否可枚举)元属性valuewritableenumerableconfigurable存储器控制对象状态Object.pre

2020-08-12 14:55:18 277

原创 Object对象的相关属性和方法

JS原生Object的详细介绍Object介绍对象本身的方法实例方法Object()作为方法Object()作为构造函数Object静态方法Object.keys()和Object.getOwnPropertyNames()Object其他方法对象属性模型相关方法控制对象状态的方法原型链相关方法Object实例方法Object.prototype.valueOf()Object.prototype.toString()toString() 的应用:判断数据类型Object.prototype.toLocal

2020-08-12 11:26:27 574

原创 实例对象与new

对象面向对象编程(Object Oriented Programming)是目前全球主流的编程模式。对象是一个抽象的概念,并不是一个实体,理论上任何事物都可以抽象成对象,人、动物、汽车、城市等等。每一个对象都有自己的功能中心。他可以接收信息,处理信息,发送信息,也可以被其他的对象进行模仿使用,因此面向对象具有灵活、代码复用性高、高度模块化、易开发等优势。什么是对象对象是实物的抽象画。比如人作为一个对象,有身高、年龄、肤色属性,也有跑、坐、躺等动作事件。对象是一个容器。属性时对象的状态,方法

2020-08-11 17:23:26 186

原创 constructor功能及用法

我们必须了解的一些概念:所有的函数都有一个prototype属性,它是一个对象。prototype有一个constructor的属性,默认是指向prototype所在的构造函数。constructor会被实例继承。他的作用就是表名某个实例对象是由哪个构造函数产生的。如下,p是没有constructor 的,他的constructor 就指向Pfunction P(){}const p = new P();p.constructor === P // true利用constructor

2020-08-11 17:09:50 16986

原创 Object原型对象的方法

记录JS中Object不常用的方法和属性Object.getPrototypeOf()(查看对象原型)Object.setPrototypeOf()(修改对象原型)使用new来模仿Object.setPrototypeOf()Object.create()(通过原型创建实例对象)javascriptObject.prototype.isPrototypeOf()(判断是否在参数对象的原型链上)isPrototypeOf和instanceof 的区别Object.prototype.__proto__ (返回

2020-08-11 16:53:44 1784

原创 浅析JS严格模式

罗列JS严格模式的一些规则使用整个脚本文件单个函数显式报错只读属性不可写只设置了取值器的属性不可写禁止扩展的对象不可扩展eval、arguments 不可用作标识名函数不能有重名的参数禁止八进制的前缀0表示法增强的安全措全局变量显式声明禁止 this 关键字指向全局对象禁止使用 fn.callee、fn.caller禁止使用 arguments.callee、arguments.caller禁止删除变量禁止使用 with 语句创设 eval 作用域arguments 不再追踪参数的变化非函数代码块不得声明函

2020-08-11 16:35:13 218

原创 花式的JS原型与原型链

构造函数一般情况下我们通过构造函数创建一个对象实例。我们实例对象中的属性和方法都会定义在构造函数内部。function Person(name = '',age = ''){ this.name = name; this.age = age; this.info= function(){ console.log(`名字:${this.name},年龄:${this.age}`) } }const person1 = n

2020-08-11 16:20:03 151

原创 JS Worker执行多线程

Web Worker多线程简介Web Worker注意点:基本用法主线程woker线程Worker加载脚本错误处理关闭Worker数据通信同页面的 Web Worker实例:Worker 线程完成轮询实例: Worker 新建 WorkerApi主线程Worker线程简介JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。随着电脑计算能力的增强,尤其是多核 CPU 的出现,单线程带来很大的不便,无法充分发挥计算机的

2020-08-11 15:31:31 2696 2

原创 神奇的Navigator对象

Navigator对象的属性和方法Navigator的属性Navigator.userAgent(浏览器厂商信息)Navigator.plugins(浏览器插件)Navigator.platform(操作系统)Navigator.onLine(浏览器是否在线)Navigator.language,Navigator.languages(浏览器的首选语言和支持的语言)Navigator.geolocation(用户位置信息)Navigator.cookieEnabled (是否支持cookie)Navigat

2020-08-11 14:19:38 1579

原创 nginx启动关闭脚本

打开@echo offset nginx_path=D:\nginx-1.12.2echo nginxpath: %nginx_path%cd %nginx_path%echo “nginx is starting on port 80”start nginxcd %~dp0关闭@echo offset nginx_path=D:\nginx-1.12.2echo nginx...

2019-02-21 10:14:22 340

原创 subString, subStr, splice, slice, split

slice()Array和String对象都有在Array中 slice(i,[j])----i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素----j为结束的索引值,缺省时则获取从i到末尾的所有元素参数返回:----返回索引值从i到j的数组,原数组不改变在String中 slice(i,[j])参数说明:----i为开始截取的索引值,负数代表从末尾算起的...

2019-01-16 18:39:26 139

原创 this apply call bind

this apply call bindapply callapply call 的区别bindapply call bind 的比较总结apply call在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。JavaScript 的一大特点是,函数存在「定义时上下文」和「运...

2019-01-14 16:48:26 377

原创 开发中的axios

开发中的axios[axios npm地址]https://www.npmjs.com/package/vue-axios基本操作npm install --save axios vue-axios在main.js中import Vue from 'vue'import axios from 'axios'import VueAxios from 'vue-axios'Vue.u...

2018-12-28 18:38:07 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除