JavaScript欲速则不达——基本处理事件详解和阻止事件传播

JavaScript欲速则不达——基本处理事件详解和阻止事件传播

事件就是用户或者浏览器自身执行的某种动作。诸如click、load、和scroll等等,都是事件的名字。而响应某个事件的函就叫做事件处理程序(或事件侦听器)。事件处理程序的名字都是以”on“开头,因此ckick事件的事件处理程序就是onclick,load的事件处理程序就是onload。

页面中添加事件的有几种方式

直接将代码写在HTMl上

<div onclick="alert('H

阅读更多»

CSSOM视图模型中几个常用的位置、尺寸以及解决方案

CSSOM视图模型中几个常用的位置、尺寸以及解决方案

Web页面空间是包含在浏览器的边框中的所有区域:浏览器的外边缘、状态栏和菜单栏。如果页面内容比窗口去要打,浏览器会添加垂直或者水平滚动条,以便你可以滚动以查看所有页面内容。

CSSOM视图模型在我们日常工作时密不可分,在2011年8月份,W3C新增加了直接的API可以直接使用,但是因为浏览器不兼容,所以我们在使用新属性时尽量做到向后兼容。以下就是针对innerWidth和innerHeight、g

阅读更多»

JavaScript欲速则不达——面向对象

JavaScript欲速则不达——面向对象

javascript应用程序可能完全有函数和变量组成,但是如果你想要确保易于重用的、结构紧凑、高效率的代码,并且期望代码能够很好的使用其他库的话,需要考虑把代码封装到对象中。

javascript是基于原型继承的。基于原型的语言有一个特点,就是重用通过已有的对象的新实例来进行,而不是通过一个类的实例来进行。原型扩展通过以新的属性和方法来扩展一个已有的对象来进行,而不是通过类继承来扩展。

接下来我们

阅读更多»

JavaScript欲速则不达—JavaScript闭包

JavaScript欲速则不达—JavaScript闭包

看完JavaScript欲速则不达—通过解析过程来了解作用域后我们知道,JavaScript中因为有作用域链的存在,在函数内部的变量在函数外部是无法访问的,在函数内部却可以得到外部变量。但是有时因为程序的需要,我们希望在外部函数访问到函数内部的变量,这就需要创建一种特殊的闭包来解决这个难题。

什么是闭包?

阅读更多»

JavaScript欲速则不达—通过解析过程了解JavaScript

JavaScript欲速则不达—通过解析过程了解JavaScript

接触javascript一段时间后,看到网上很多关于很多什么高效javascript准则、高性能javascript,最后发现也就那么几条而且总是被搬出来,譬如:申明变量用var;用json格式来创建对象比调用构造器的性能高;避免对象的嵌套,尽量利用局部变量,避免嵌套查询,等等(很多就不列举了,google“加快js的X个技巧”搜索结果一大堆)。

本文从javascript的解析引擎怎么解析jav

阅读更多»

JavaScript欲速则不达—关于变量以及“预解析”对变量的影响

JavaScript欲速则不达—关于变量以及“预解析”对变量的影响

变量类型

JavaScript中变量可以用来保存任何类型的数据。而且变量的类型是根据所赋值的类型来决定自己的类型,前面我们说过javascript有两种类型的:基本类型和引用类型。所以一个变量到底是什么类型,不取决于变量定义本身,取决于它所包含的数据。所以变量的类型由保存数据类型决定。(点击查看基本数据类型介绍)。

  • 基本类型变量的值是保存在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。
  • 引用类型变量的值是保存在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point)

阅读更多»

JavaScript欲速则不达—原始值及原始值的隐式类型转换

JavaScript欲速则不达—原始值及原始值的隐式类型转换

我们知道在JavaScript中声明一个变量只需要要使用 var 操作符,后跟变量名,该变量就存在了,而该变量可以用来保存任何类型的数据。就是说变量的类型是根据所赋值的类型来决定自己的类型,所以一个变量到底是什么类型,不取决于变量定义本身,取决于它所包含的数据。数据类型决定着变量类型。

JavaScript中有五种原始类型值:Undefined、Null、Boolean、String、Number

阅读更多»

上一页 1 2 3