<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<script type="text/jscript">
//js面向对象:创建一个猫类
function Cat(){
}
//js对象的属性可以动态的添加
var cat1=new Cat();
cat1.name="tom";
cat1.age=3;
cat1.color="白色";
document.write(cat1.name+"--"+cat1.age+"--"+cat1.color);
//js中自定义类(原型对象)的方法
document.write("<br/>1.工厂方法");
var obj=new Object();
obj.name="aa";
obj.show=function(){
}
document.write("<br/>2.构造函数来定义类");
function Person(){
}
document.write("<br/>js中一切都是对象");
var i=10;
document.write("<br/>"+i.constructor);
function Person1(){
}
var p1=new Person1();
document.write("<br/>"+p1.constructor);
document.write("<br/>"+Person1.constructor);
document.write("<br/>"+Function.constructor);
document.write("<br/>instanceof 判断对象实例是不是某个类的对象实例");
if(p1 instanceof Person1){
document.write("<br/>p1是Person1的对象实例");
}else{
document.write("<br/>p1不是Person1的对象实例");
}
document.write("<br/>js销毁对象属性的方法:delete 对象名.属性");
document.write("<br/>给对象创建就有的属性");
function Person2(name){
this.name=name;
}
var p2=new Person2("Tom");
document.write("<br/>"+p2.name);
document.write("<br/>内部函数访问私有变量");
function Person3(){
//两个私有变量
var name="China";
var age=10000;
this.show=function(){
document.write("<br/>"+name+"--"+age);
}
}
var p3=new Person3();
p3.show();
document.write("<br/>js面向对象的成员函数");
function Person4(name,age){
this.name=name;
this.age=age;
}
function speak(){
document.write("<br/>我是:"+this.name+";年龄:"+this.age);
}
var p4=new Person4("小白",30);
p4.fun1=speak;
p4.fun1();
speak();
/*第二种写法
p4.fun1()=function speak(){}
*/
document.write("<br/>定义公共函数");
function Test1(){
this.test=function(){
document.write("<br/>公共函数");
}
}
//这里是匿名写法
new Test1().test();
document.write("<br/>js的原型法");
Dog.prototype.shout=function (){
document.write("小狗叫");,
}
var dog1=new Dog();
dog1.shout();
</script>
<body>
</body>
</html>
QQ:1327880701,一起学习进步,交朋友。
版权声明:博主原创文章,转载请说明出处。http://blog.csdn.net/dzy21