JavaScript 构建类和创建对象的方式
1>工厂函数来创建对象(Factory)
function createCar(){
var obj = new Object;
obj.name = "BWM";
obj.show = function(){
alert(this.name);
}
return obj;
}
var car1 = createCar();
var car2 = createCar();
car1.show();
car2.show();
2>构造函数创建对象(Constructor)
function Car(name){
this.name = name;
this.show = function(){
alert(this.name);
}
}
Car.prototype.say = function(){
alert("hello");
}
var car = new Car("BMW");
car.show();
car.say();
3>原型(prototype)创建对象
function Car(){}
Car.prototype.name = "BMW";
Car.prototype.show = function(){
alert(this.name);
}
Car.prototype.say = function(){
alert("Hiloo");
}
var car = new Car();
car.show(); car.say();
4>构造 && 原型:推荐使用,但是理解起来有点模糊
/*
构造函数是来初始化非函数属性的
*/
function Car(name){
this.name = name;
}
Car.prototype.show = function(){
alert(this.name);
}
Car.prototype.say = function(){
alert("hiloo");
}
var car = new Car("BMW");
car.show(); car.say();
5>Dynamic Prototype:类似于java中类的创建,是学习过Java语言程序员常用的方式
function Car(name){
this.name = name;
if(typeof Car._initialized == "undefined"){
Car.prototype.show = function(){
alert(this.name);
}
Car._initialized = true;//改变目的是,执行一次
}
}
var car = new Car("BMW");
car.show();
相关文档:
1>zInherit:
它是一个组件,用来继承基类的所有属性和方法。跟以前说到的原型链模式非常类似,只不过比原型更安全,也无须考虑参数问题。下面看看zInherit的用法:
该组件中只有两个方法:inheritfrom() instanceof()
func ......
CSS复合效果
CSS的效果是可以重叠的,例如class="a b",那么这个节点就同时拥有了a和b的属性,并且,b可以覆盖a的属性。
JavaScript在Html中的执行顺序
经过简单测试,发现JavaScript的执行顺序是按照js的加载顺序进行的,而onload函数是在整个页面加载完成后才开始执行。
我的测试文件:
<!--
To change this ......
FusionChart 就不用介绍了把,一款支持多种语言的图表生成控件,生成的图表丰富,美观,且有动态感,因为它生存的东西就是一个flash。一下介绍一下它的javascript 实现方式把。
废话少说,直接上实例
<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascri ......
javascript中replace()
在javascript中,String的函数replace()简直太让人喜爱了。它灵活而强大的字符替换处理能力,让我不禁想向大家介绍它。
replace()最简单的算是能力就是简单的字符替换。示例代码如下:
<script language="javascript">
var strM = "javascript is a good script ......
今天头儿复查代码,结果发现有的页面并没有相应的DOM元素,导致调用fuction出错。采用JavaScript中arguments对象可以很轻松的解决这个问题,而不需要再去判断元素之类的。so Good!
JavaScript中arguments函数对象是该对象代表正在执行的函数和调用它的函数的参数。使用方法:
[function.]arguments[n ]
其中function是 ......