JS深入
文章平均质量分 92
记录一些JS通关的必备技巧
ccg_success
这个作者很懒,什么都没留下…
展开
-
栈 | 堆 | 队列
本文只表述关于堆、栈、事件序列的简单理解栈(stack)堆(heap)队列(queue)JS中的堆和栈参考链接栈(stack)栈是一种高效的数据结构,遵循LIFO(last in first out)的的进出原则,也就是说,最后进入的元素会先出来。这样的操作很快,也很容易实现,在很多的编程语言中都有用到栈的概念。浏览器的前进后退功能就类似于栈的概念。简单的理解就是类似于我们砌墙,先砌的砖块总是在最下面,而最后砌的砖在最上面,当我们需要依次拆墙的时候,便会先拆上面的砖块,这就是LIFO。(这里排除将墙原创 2020-09-14 10:53:24 · 139 阅读 · 0 评论 -
常用继承
涉及到原型链与构造函数的继承方式构造函数继承原型链继承组合继承组合继承优化组合继承最终关于原型原型链的介绍构造函数继承 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 · 88 阅读 · 0 评论 -
实例对象与new
对象面向对象编程(Object Oriented Programming)是目前全球主流的编程模式。对象是一个抽象的概念,并不是一个实体,理论上任何事物都可以抽象成对象,人、动物、汽车、城市等等。每一个对象都有自己的功能中心。他可以接收信息,处理信息,发送信息,也可以被其他的对象进行模仿使用,因此面向对象具有灵活、代码复用性高、高度模块化、易开发等优势。什么是对象对象是实物的抽象画。比如人作为一个对象,有身高、年龄、肤色属性,也有跑、坐、躺等动作事件。对象是一个容器。属性时对象的状态,方法原创 2020-08-11 17:23:26 · 167 阅读 · 0 评论 -
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 · 16525 阅读 · 0 评论 -
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 · 1744 阅读 · 0 评论 -
浅析JS严格模式
罗列JS严格模式的一些规则使用整个脚本文件单个函数显式报错只读属性不可写只设置了取值器的属性不可写禁止扩展的对象不可扩展eval、arguments 不可用作标识名函数不能有重名的参数禁止八进制的前缀0表示法增强的安全措全局变量显式声明禁止 this 关键字指向全局对象禁止使用 fn.callee、fn.caller禁止使用 arguments.callee、arguments.caller禁止删除变量禁止使用 with 语句创设 eval 作用域arguments 不再追踪参数的变化非函数代码块不得声明函原创 2020-08-11 16:35:13 · 187 阅读 · 0 评论 -
花式的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 · 138 阅读 · 0 评论 -
JS Worker执行多线程
Web Worker多线程简介Web Worker注意点:基本用法主线程woker线程Worker加载脚本错误处理关闭Worker数据通信同页面的 Web Worker实例:Worker 线程完成轮询实例: Worker 新建 WorkerApi主线程Worker线程简介JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。随着电脑计算能力的增强,尤其是多核 CPU 的出现,单线程带来很大的不便,无法充分发挥计算机的原创 2020-08-11 15:31:31 · 2596 阅读 · 2 评论 -
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 · 353 阅读 · 0 评论