Mieruko的实验室

告别回调地狱--ES6标准中的Promise对象

前言:最近在阅读一本很好的开源电子书——阮一峰老师的ES6入门,其中对这个Promise对象印象很深刻,而且刚好最近写一个小demo用到了,今天来研究一下它。 初识Promise对象正如标题所说,Promise对象的出现,是为了解决层层嵌套的回调地狱。当回调函数太多的时候,会使代码的结构变得糟糕,读代码的时候,你得一层一层扒着往里找半天才能找到自己想看到那个功能效果对应的回调,改代码的时候......

Javascript系统复习:Javascript中的面向对象(OOP)之继承和原型

前言:Javascript中的OOP,其实不止Javascript中有OOP,面向对象思想在很多语言中都有体现。先看一下面向对象的定义: 面向对象程序设计,是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性,灵活性和扩展性。 面向对象的几个重点思想: 继承 封装 多态 抽象 ......

小细节:css中的的大小写区分

前言:这篇文章看起来可能没有什么技术含量,是对一个小细节的验证。起因是读《javascript权威指南》这本书时,里面提到说js是大小写敏感的语言,而html不是,因此html中设定属性时属性名属性值不限制大小写,标签名也不限制。由此想到,css中的属性名和属性值以及选择器是否限制大小写呢,今天就是为了验证一下这个问题。 对HTML不限制大小写的测试js大小写敏感还是比较明显比较常见的,先......

Javascript系统复习:闭包,作用域以及ES3执行上下文

前言:闭包和作用域,非常重要的一个点。闭包的官方定义: 在计算机科学中,闭包(也称词法闭包或函数闭包)是指一个函数或函数的引用,与一个引用环境绑定在一起。这个引用环境是一个存储该函数每个非局部变量(也叫自由变量)的表。 闭包不同于一般的函数,它允许一个函数在立即词法作用域外调用时,仍可访问本地变量。 另外本文还有一个大boss是ES3的执行上下文,我会放在最后说。 ......

自动化管理工具gulp的初体验

前言: 最近写了一个响应式的demo,推在github上响应式demo,在这个项目里,我第一次接触前端自动化管理工具,结合我自己的情况,我选择了gulp。这篇文章主要是对gulp的学习和使用做一个记录,同时文章后面会做一些gulp的比较好的插件的推荐. 什么是gulp gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很......

Javascript系统复习:函数的重要属性和arguments

前言:这篇博客概括起来比较简单粗暴,就是写函数的常用属性和arguments对象~~(写完之后的我再回过头来看也觉得它意外的短啊。。。😂) 函数的属性 foo.name 函数名 foo.length 形参的个数 arguments.length 实参的个数🌰: 1234567891011121314function foo(x,y,z) { argumen......

body和html到底有多高&&浏览器的背景色问题

前言:在此之前我一直以为在浏览器里html默认和浏览器窗口等高,而body默认和html等高,现在想想自己为什么会这么想,主要是因为这个: body和html的高度测试代码123body{ background:blue;} 当我这么干的时候,得到了这个结果:看,body的背景色占据了整个浏览器窗口,这样想来body撑开浏览器什么的也不是匪夷所思了,但书......

Javascript系统复习:函数和作用域

前言:Javascript中的函数和由函数带出的作用域~~函数是一块Javascript代码,被定义一次,但是可以被执行和调用多次。JS中的函数也是对象,所以JS函数可以像其它对象那样操作和传递,所以我们也常叫JS中的函数为函数对象。 函数函数中的几个部分: 函数名 参数列表 函数体 🌰: 123456789function foo(x, y) { i......

Javascript系统复习:数组专栏

前言:数组!一个出镜率非常高的数据结构~~定义: 数组是值的有序集合,每个值叫做元素,每个元素在数组中都有数字位置编号,也就是索引。JS中数组是弱类型的, 即数组中可以含有不同类型的元素。数组元素甚至可以是对象或其它数组。 🌰: 1var arr = [1, true, null, undefined, {x:1}, [1,2,3]]; 看看,是不是......

Javascript系统复习:对象标签和对象序列化

前言:前面我们说属性是有标签的,于是对象也是有标签的。 对象标签对象标签主要有三种: [[proto]] [[class]] [[extensible]] 原型和class第一个标签对应的是原型,我们可以通过prototype属性来访问。第二个标签没有一个指定的方式去查看或者修改它,我们可以间接地通过Object.prototype.toString方法来获取它。举个例子......