Rimin's Blog

WHAT IS YOUR QUESTION?

JS 事件循环机制

同步和异步 异步:简单说就是一个任务不是连续完成的,可以理解成该任务被人为分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段。比如,有一个任务是读取文件进行处理,任务的第一段是向操作系统发出请求,要求读取文件。然后,程序执行其他任务,等到操作系统返回文件,再接着执行任务的第二段(处理文件)。这种不连续的执行,就叫做异步。 同步:相应地,连续的执行就叫做同步。由......

自行实现call apply bind

call, apply,bind三者都是用于改变对象绑定的this的值,但是在用法上有一些略微的差别。 call (Function.prototype.call()) 例子: 12345678910111213function Product(name, price) { this.name = name; this.price = price;}function......

深入理解JS对象和原型链

什么是对象? 对象是一组没有特定属性的值,对象的每一个属性或方法都有一个名字,而每一个名字都映射到一个值,其中值可以是数据或函数。每一个对象都是基于一个引用类型创建的,这个引用类型可以是原生类型,也可以是开发人员自定义的类型。 JavaScript中,一切都是对象,函数也是对象,数组也是对象,但是数组是对象的子集,而对于函数来说,函数与对象之间有一种“鸡生蛋蛋生鸡”的关 所有的对象......

提升和它背后的机制

变量提升 var 变量提升即将变量声明提升到它所在作用域的最开始的部分(这里就要先搞清楚它的作用域) 123456789101112(function(){ var a='One'; var b='Two'; var c='Three';})();//实际上它是这样子的(function(){ var a,b,c; a='One......

跨域

什么是跨域? 当前访问的服务器所返回的页面,页面内的JS访问另一个服务器的资源的时候,出现跨域。(本地资源打开的页面去访问服务器,也是跨域) 如何判断跨域? 协议是否相同 域名是否相同 端口号是否相同 举例:http://www.example.com/dir/page.html, 这个url的协议:http,域名为:example.com,顶级域名:.com。主机名:www (......

JS数据类型

概述 js基本类型: Undefined、Null、Boolean、Number、String、Symbol js引用类型: Object (Object类型,Array类型,Date类型,Function类型,RegExp类型) 存储 基本数据类型占 8字节,存储在栈内存 如: 123456789101112131415var num1 = 5;var num2 = num......

深入理解闭包

函数的使用 1)普通用法 2)当值传递:也就是作为值来传递 3)函数作为返回值 以上就是函数常见的几种用法。 后面这两种情况就会涉及到闭包,因此还会详细讨论 123456789函数作为返回值function fn(){ var min = 10; return function compare(x){ if(x>max){ ......

深入理解this

个人认为要行先理解了闭包,理解了js函数执行机制,作用域链之后再来理解this的指向更容易。判断es5的this指向应该按这三步: 创建时 scope 执行时 (作用域链,上下文 ) 是否被显式,隐式改变 this 是一个指针,一般指向其所在函数的执行环境(作用域链)的第二个环境对象(或者说是指向[[scope]]的第一个环境对象)(作用域链:执行环境(作用域链)= 函数内部环境 + ......

浏览器内部机制

浏览器解释并显示 HTML 文件的方式是在 HTML 和 CSS 规范中指定的。这些规范由网络标准化组织 W3C(万维网联盟)进行维护。 浏览器的用户界面并没有任何正式的规范,这是多年来的最佳实践自然发展以及彼此之间相互模仿的结果。 浏览器的组成 用户界面 : 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的您请求的页面外,其他显示的各个部分都属于用户界面。 浏览器......

站在2019看前端

虽然接触前端不到两年的时间,但是在这不到两年的时间,感受到前端发生了很大的变化,印象中,在 2017 年 大前端这个词才刚刚“衍生孵化”,而经过短短不到两年的发展,大前端真正迎来它的繁盛时刻,Node将触角伸向后端,npm带来各种可用的完备而成熟的库, 小程序,PWA, React Native又将触角伸向移动端,甚至像 Electron又把触角伸向pc桌面应用。前端逐渐变成“大前端”,也就......