JS编程
文章平均质量分 75
ouyangshima
找到心中的那份自信
技术不牢,地动山摇
展开
-
[JS]事件循环怎么处理宏任务与微任务
new Promise((resolve) => { console.log('外层宏事件2'); resolve()}).then(() => { console.log('微事件1');}).then(() => { console.log('微事件2')})console.log('外层宏事件1');setTimeout(() => { //执行后 回调一个宏事件 console.log('内层宏事件3')}, 0)// 打印顺序是什么?// 外.原创 2020-10-24 14:54:38 · 543 阅读 · 1 评论 -
[JS]源码学习Promise
Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理。Promise对象有以下两个特点(1)对象的状态不受外界影响。P...原创 2020-09-15 22:38:38 · 326 阅读 · 0 评论 -
[JS]彻底理解原型链
http://www.cnblogs.com/lidabo/archive/2012/12/04/2800921.htmlhttp://msdn.microsoft.com/zh-cn/library/cc485433(v=vs.71).aspx原创 2020-08-13 01:03:29 · 658 阅读 · 0 评论 -
[JS]彻底明白了原型
什么是原型对象?原型的概念定义为:所谓原型就是指函数的prototype属性所引用的对象,这个对象就是原型。原型的作用1:实现对象之间的数据共享。2.在es6之前,没有class的情况下,模拟面向对象,构造函数中放私有属性,原型上放公有属性,一般为方法。function fn1() {}var fn2 = function () {}var fn3 = new Function()console.log(typeof fn1) //functionconsole.log(typeof原创 2020-08-12 23:43:44 · 314 阅读 · 0 评论 -
[JS]你不知道的EventLoop
从一道面试题说起setTimeout(function() { console.log(111);}, 0); // 这里定时器时间设置为0ms后执行console.log(222);相信这道题很多人都看过,结果是先输出222,再输出111可能新手会犯错,认为定时器设置0毫秒就等于立即就执行,所以先输出111。但其实内部涉及一个很重要的JS运行机制,也就是我们今天的主角—...原创 2018-11-05 13:45:01 · 319 阅读 · 0 评论 -
[JS]JS中的instanceof运算符
typeof返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,包括number,boolean,string,object,undefined,function.语法为typeof(data) 或 typeof datainstanceof则为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型.语法为 o instanceof A.instance原创 2016-12-08 18:21:36 · 933 阅读 · 0 评论 -
[JS]JS原型与原型链
普通对象与函数对象JavaScript中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object,Function 是JS自带的函数对象。function f1(){};var f2 = function(){};var f3 = new Function('str','console.log(str)');var o3 = new f1();var ...原创 2016-08-17 14:27:43 · 1037 阅读 · 1 评论 -
[JS]JS对象的内部原型(__proto__)和构造器的原型(prototype)
prototype和__proto__的概念prototype是每个函数对象的一个属性,这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性,当然它的作用也是显示修改对象的原型的属性。__proto__是每个对象拥有的内置属性,包含对指定对象的内部原型的引用,是JS内部使用寻找原型链的属性。__proto__属性可以用来设置对象的原型。由于对象只能有一个原型,所以使用__prot原创 2016-09-20 17:21:26 · 2447 阅读 · 0 评论 -
[JS]Nodepad++配置Node.JS开发环境——windows
1.安装NppExecPlugins->Plugin Manager->Show Plugin Manager2.添加RunNodeJS命令Plugins->NppExec->Execute,在这个对话框里写入:cd "$(CURRENT_DIRECTORY)"node $(FILE_NAME)3.添加宏菜单命令Run NpmPlugins-...原创 2016-07-25 23:56:04 · 1987 阅读 · 0 评论 -
[JS]this的值到底是什么?
你可能遇到过这样的JS面试题:var obj = { foo: function(){ console.log(this) }}var bar = obj.fooobj.foo() // 打印出的 this 是 objbar() // 打印出的 this 是 window请解释最后两行函数的值为什么不一样。初学者关于this的理解一直很模糊。函数调用首先需要原创 2016-11-29 19:28:39 · 782 阅读 · 1 评论 -
[JS]JS内存管理
内存的生命周期JS环境中分配的内存一般有如下生命周期: 内存分配:当我们申明变量、函数、对象的时候,系统会自动为他们分配内存 内存使用:即读写内存,也就是使用变量、函数等 内存回收:使用完毕,由垃圾回收自动回收不再使用的内存内存分配的几个例子:// 为变量分配内存var i = 11;var s = "ifcode";// 为对象分配内存var person = { age原创 2016-10-11 14:36:30 · 1056 阅读 · 0 评论 -
[JS]JavaScript的数据类型
JavaScript类型总览 这个图来自于《JavaScript语言精髓与编程实践》第三章P184页。最近在改第二版,这张图重做了,需要的可以对照着看。关注这个体系的朋友可以参考如下:再谈JavaScript的数据类型问题内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过原创 2016-07-27 00:31:09 · 654 阅读 · 0 评论 -
[JS]JS面向对象编程——原型继承
在传统的基于Class的语言如Java、C++中,继承的本质是扩展一个已有的Class,并生成新的Subclass。由于这类语言严格区分类和实例,继承实际上是类型的扩展。但是,JavaScript由于采用原型继承,我们无法直接扩展一个Class,因为根本不存在Class这种类型。但是办法还是有的。我们先回顾Student构造函数:function Student(props) {原创 2016-09-13 17:48:22 · 783 阅读 · 0 评论 -
[JS]JS面向对象编程
JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。如果你熟悉Java或C#,很好,你一定明白面向对象的两个基本概念: 类:类是对象的类型模板,例如,定义Student类来表示学生,类本身是一种类型,Student表示学生类型,但不表示任何具体的某个学生; 实例:实例是根据类创建的对象,例如,根据Student类可以创建出xiaoming原创 2016-09-12 18:28:50 · 723 阅读 · 0 评论 -
[JS]JS面向对象编程——创建对象
JavaScript对每个创建的对象都会设置一个原型,指向它的原型对象。当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其原型对象上找,如果还没有找到,就一直上溯到Object.prototype对象,最后,如果还没有找到,就只能返回undefined。例如,创建一个Array对象:var arr = [1, 2, 3];原创 2016-09-13 09:38:26 · 1020 阅读 · 0 评论 -
[JS]闭包
闭包的概念说到闭包,这是js不得不提的一个特性,很多传统语言都不具备这样的特性,比如JAVA、C等等.首先基本上所有的编程语言都有类似的特性,局部方法可以访问外部父类方法的属性,也就是说,子类或子方法可以访问父类的资源。闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。由于在Javascript语言中,只有函数内部的子函数才能读原创 2016-08-09 18:01:56 · 712 阅读 · 0 评论 -
[JS]Mac系统下SublimeText运行JavaScript控制台——纯JavaScript开发环境
JavaScript控制台的调试和输出在浏览器端的使用算是工作中常用了,作为前端开发主力编辑器Sublime Text本身是不支持JavaScript的输出和运行的。有的时候我们需要看一下输出的效果,不得不借助于F12查看控制台的程序。作为插件系统及其丰富的编辑器,我们可以通过添加Build System的方法来让Sublime Text支持Javascript Console控制台调试。原创 2016-07-25 09:06:39 · 7169 阅读 · 2 评论