摘要:
图片底部的空隙实际上涉及行内元素的布局模型,图片默认的垂直对齐方式是基线,而基线的位置是与字体相关的。所以在某些时候,图片底部的空隙可能是 2px,而有时可能是 4px 或更多。不同的 font-size 应该也会影响到这个空隙的大小。 阅读全文
摘要:
变量的作用域 变量的作用域,就是指变量的作用范围。在JS中,函数可以用来创造函数作用域。当在函数中搜索一个变量的时候,如果该函数内并没有声明这个变量,那么此次搜索的过程会随着代码执行环境创建的作用域链往外层逐层搜索,一直搜索到全局对象为止。变量的搜索是从内到外。 变量的生存周期 对于全局变量,全局变 阅读全文
摘要:
首先,要明确几个点:1.在JS里,万物皆对象。方法(Function)是对象,方法的原型(Function.prototype)是对象。因此,它们都会具有对象共有的特点。即:对象具有属性__proto__,可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造 阅读全文
摘要:
多态 多态背后的思想是将“做什么”和“谁去做,怎样去做”分离开来,也就是将“不变的事物”与“可变的事物”分离开来。 其最根本的作用就是通过把过程化的条件分支语句转化为对象的多态性,从而消除这些条件分支语句。 封装 目的是将信息隐藏。 封装数据: js依赖变量的作用域来实现封装特性,而且只能模拟出pu 阅读全文
摘要:
调用每一个函数会暂停当前函数的执行,传递控制权和参数给新函数。除了声明时定义的形式参数,每个函数还接收两个附加的参数:this 和 arguments。 参数this在面向对象编程中非常重要,他的值取决于调用的模式。 在JS中一共有4中调用模式:方法调用模式、函数调用模式、构造器调用模式和apply 阅读全文
摘要:
JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type)。原始类型有5种,分别是:数字(Number)、字符串(String)、布尔值(Boolean)、null和undefined。引用类 型包括:Object、Array、Date、Er 阅读全文
摘要:
改变this指向 要先明白存在call和apply的原因,才能记得牢一点: 在javascript OOP中,我们经常会这样定义: 但是如果我们有一个对象whiteDog = {food:"bone"},我们不想对它重新定义say方法,那么我们可以通过call或apply用blackCat的say方 阅读全文