摘要:
这篇博客用于记录平时学习中遇到的零散的知识点,它们不适于单独写一篇长博客,在这里记录下来一是为了增强记忆,二是为了方便复习总结。这篇博客会持续更新。。。 一、JS数据类型及类型判断 1. JS数据类型 JS共有6种数据类型,其中5种基本数据类型,分别是:Undefined, Null, String, Number, Boolean, 还有一种复杂数据类型:Object。 JS中对... 阅读全文
摘要:
这篇文章总结一下块级元素和行内元素的区别,有落下的随时补充。一、块级元素 , , , , 等等都是块级元素。它们都有以下特点:如果不为其设定宽度,会自动占满父容器的宽度。如果不为其设定高度,会自适应它的子元素的高度(前提是没有为其设定浮动或定位)。可以为其设定外边距和内边距。默认情况下会在垂直方向... 阅读全文
摘要:
曾经我以为JavaScript中的类型检测只要使用 typeof 或 instanceof 就可以通通解决。后来我发现我是too young too naive啊!早说过JavaScript是个不严密,有缺陷的语言,通过类型检测才深深地领悟到这一点。接下来我就来剖析下这里面的漏洞及最靠谱的检测方法吧! 一、typeof运算符 相信很多同学还跟我曾经以为的一样,typeof操作符... 阅读全文
摘要:
作用域在JavaScript中是非常重要的概念,理解了它对更深入地理解闭包等概念都有很大的帮助,这篇文章就来谈谈我对作用域的理解。 一、全局作用域与局部作用域 在JavaScript中没有块级作用域的概念,它的作用域都是以函数作为划分的。JavaScript的作用域分为全局作用域和局部作用域。能在代码中的任何地方访问到的变量具有全局作用域,只能在固定代码段,例如函数内部,... 阅读全文
摘要:
JavaScript并不是面向对象的语言,它是基于对象的语言。在JavaScript中一切皆是对象。在 JavaScript中创建自定义对象的方法 一文中,我已经介绍了基本的创建自定义类型的方法。那么怎么实现类型与类型之间的继承呢?这就是本文要讲的内容。 JavaScript实现继承的方式主要有两... 阅读全文
摘要:
在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。一、怎么判断属性是否可枚举 js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的代码遍... 阅读全文
摘要:
在JavaScript中创建自定义对象都需要用new运算符,那么创建对象的过程是什么样的呢? 例如现在有如下构造函数: function Person(name) { this.name = name; } Person.prototype = { constructor: Person, sayName: function() { alert(... 阅读全文
摘要:
当在浏览器地址栏输入网址,如:www.baidu.com后浏览器是怎么把最终的页面呈现出来的呢?这个过程可以大致分为两个部分:网络通信和页面渲染。一、网络通信 互联网内各网络设备间的通信都遵循TCP/IP协议,利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。分层由高到低分别为:... 阅读全文
摘要:
JS中this关键字很常见,但是它似乎变幻莫测,让人抓狂。这篇文章就来揭示其中的奥秘。 借助阮一峰老师的话:它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。这句话看似平常,可是要非常注意三个字:“运行时”,这说明this关键字只与函数的执行环境有关,而与声明环境没有关系。也就是这个t... 阅读全文
摘要:
本文主要总结一下JS事件的学习大纲。1. 事件流1.1 事件冒泡: 具体 –> 不具体1.2 事件捕获: 不具体 –> 具体2.事件处理程序2.1 HTML事件处理程序: 在中加事件类型的属性2.2 DOM0级事件处理程序: 例如:element.onclick2.3 DOM2级事件处理程序(IE不... 阅读全文