<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
<!--
JavaScript 本身是一种面向对象的语言,
它所涉及的元素根据其属性的不同都依附于一个特定的类。
我们所常见的类包括:数组变量(Array)、逻辑变量(Boolean)、
日期变量(Date)、结构变量(Function)、数值变量(Number)、
对象变量(Object)、字符串变量(String)等
1、所有的JScript 内部对象都有只读的protorype 属性。
可以向其原型中动态添加功能(属性和方法),
但该对象不能被赋予不同的原型。
然而,用户定义的对象可以被赋予新的原型。
2.为已有的类型添加方法
3为自己的类创建方法
-->
Number.prototype.add = function(num){
return (this + num);
}
// alert((3).add(18.5));
function Car(sColor, iDoors, iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike", "Sue");
}
Car.prototype.showColor = function(){
alert(this.color);
}
// alert(new Car("red", 4, 10).drivers);
function Car2(sColor, iDoors, iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike", "Sue");
if(typeof Car2._initialized == "undefined"){
Car2.prototype.showColor = function(){
alert(this.color);
}
}
}
// alert(new Car2("red", 4, 10).color);
function TestObjectA(){
this.MethodA = function(){
alert("TestObjectA.MethodA()");
}
}
function TestObjectB(){
this.MethodB = function(){
alert("TestObjectB.MethodB()");
}
}
TestObjectB.prototype = new TestObjectA();
var obj = new TestObjectB();
//obj.MethodA();
//obj.MethodB();
//eval函数的使用
//eval把一串字符串当做代码来执行
function evalTest(){
var n = 3;
var b=5,c=6;
eval('a'+n+'=b*c'); <!-- => a3=b*c -->
}
evalTest();
alert(a3);
</script>
</head>
<body>
</body>
</html>