Javascript中文教程

使用with简化你的Javascript代码

with语句用于位一组语句建立缺省的对象。
适用以下场合:
1,在一段代码中使用一个类的N个方法.
2,在一段代码中使用一个命名空间下的N个类.with
为一组语句创建缺省的对象。在这一组语句中,任何不指定对象的属性引用都将被认为是缺省对象的。
实现版本 Navigator 2.0, LiveWire 1.0

语法

with (object){
   statements
} 
参数
object 为语句指定要使用的缺省对象,两边必须有圆括号。
statements 任意语句块。

示例
下面的语句指定了 Math 对象作为缺省对象。在 with 语句里引用的 PI 属性、cos 和 sin 方法就没有指定对象,JavaScript 会假定这些引用都是针对 Math 对象的。

var a, x, y
var r=10
with (Math) {
   a = PI * r * r
   x = r * cos(PI)
   y = r * sin(PI/2)
} 
with还可以嵌套使用。

Javascript对象继承(复制继承法)

复制继承可以说是Javascript中我使用的最多的继承方法.
复制继承是如何实现的,我们一起来看看下面的例子:

Javascript对象继承(原型继承法)

原型继承可以说是Javascript提供的真正的继承方法,也是很多大牛推荐使用的方法,但我使用的最多的却不是这一个继承方法.
原型继承是如何实现的,我们一起来看看下面的例子:

Javascript对象的私有属性

大家都知道Javascript函数对象的所有属性都是公开的,是没有私有属性这一个概念的.但是,不要忘记了Javascript的两大特性(原型和闭包).说到这里,可能很多朋友已经知道怎么样实现私有属性了.没错,我们就是要通过Javascript的闭包来实现.

概念性的东西可能比较难理解,我们还是以实例来说明:

Javascript中两种最通用的定义类的方法

在Javascript中,一切都是对象,包括函数。在Javascript中并没有真正的类,不能像C#,PHP等语言中用 class xxx来定义。但Javascript中提供了一种折中的方案:把对象定义描述为对象的配方(先看一下例子会比较容易理解)。

定义类的方法有很多种,这里有两中较为通用的方法,大家参考一下。

这两种方法均可以解决 构造函数会重复生成函数,为每个对象都创建独立版本的函数的问题。

解决了重复初始化函数和函数共享的问题。

聚合内容