首页 > 代码库 > javaScript对象
javaScript对象
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>创建对象</title></head><body><script type="text/javascript"> //创建一个学生对象 var student=new Object(); /*对象的属性*/ student.name="小黑"; student.age=50; student.address="黄土高坡"; /*对象的行为 函数*/ student.showInfo=function(){ document.write("姓名:"+this.name); document.write("年龄:"+student.age); document.write("地址:"+this.address); } /*调用方法*/ student.showInfo();</script></body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>通过字面量赋值的方式创建对象</title></head><body><script type="text/javascript"> /*创建一个学生对象 * {中的内容是json数据格式} * 特点就是 ---》 * 属性名1:属性值1, * 属性名2:属性值2, * 属性名3:属性值3 * * student就是一个变量,也是一个对象 * */ var student={ /*对象的属性*/ name:"小白", age:50, address:"地狱", /*对象的行为 函数*/ showInfo:function(){ document.write("姓名:"+this.name+"<br/>"); document.write("年龄:"+this.age+"<br/>"); document.write("地址:"+this.address+"<br/>"); }, showName:function(){ document.write("姓名:"+this.name+"<br/>"); } } /*调用方法*/ student.showInfo();</script></body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>通过构造函数创建多个对象</title></head><body><script type="text/javascript"> /*Student必须首字母大写 所有对象公用的构造方法*/ function Student(name,age,address){ /*给属性赋值*/ this.name=name; this.age=age; this.address=address; /*设置方法*/ this.showInfo=function(){ document.write("姓名:"+this.name+"<br/>"); document.write("年龄:"+this.age+"<br/>"); document.write("地址:"+this.address+"<br/>"); }; this.showName=function(){ document.write("姓名:"+this.name+"<br/>"); } } //真正的对象 var stu1=new Student("小黑",50,"上海1"); var stu2=new Student("小白",60,"上海2"); var stu3=new Student("小红",70,"上海3"); /*调用对象的方法*/ stu1.showName(); stu2.showName(); stu3.showInfo(); /*所有的对象都有一个constructor属性 指向了构造方法*/ alert(stu1.constructor==Student); /*instanceof 判断对象是否属于某个类型*/ alert(stu1 instanceof Student); alert(stu1 instanceof Object);</script></body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>原型对象</title></head><body><script type="text/javascript"> /*创建一个构造函数*/ function Student(){ } /*每个函数中都有一个prototype(原型对象) * 这个属性就是一个指针,指向了一个对象! * * prototype就是通过构造函数来创建这个对象实例的原型对象! * */ Student.prototype.name="小黑"; Student.prototype.age=50; Student.prototype.address="天堂"; /*书写方法*/ Student.prototype.showInfo=function(){ document.write("姓名:"+this.name+"<br/>"); document.write("年龄:"+this.age+"<br/>"); document.write("地址:"+this.address+"<br/>"); }; Student.prototype.showName=function(){ document.write("姓名:"+this.name+"<br/>"); } /*创建对象*/ var stu1=new Student(); stu1.name="哈哈"; stu1.showInfo();</script></body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>原型链</title> <!-- 原型链: 一个原型对象 是另一个原型对象的实例! 相关的原型对象层层递进,就构成了 实例与原型对象的链条!--></head><body><script type="text/javascript"> /*创建了一个动物构造函数*/ function Animal(){ this.name="动物类"; } /*写了一个获取名称的方法*/ Animal.prototype.getName=function(){ return this.name; } Animal.prototype.sayHello=function(){ return "动物好"; } /*创建一个小狗狗构造函数*/ function Dog(){ this.name="小狗"; } /*Dog原型对象是Animal原型对象的实例*/ Dog.prototype=new Animal(); Dog.prototype.getName=function(){ return this.name; } /*重写父类中的方法*/ Dog.prototype.sayHello=function(){ return "小狗好"; } /*创建小狗对象*/ var dog=new Dog(); document.write(dog.getName()); //自身的方法 document.write(dog.sayHello()); //自身的方法 var animal=new Animal(); document.write(animal.getName()); //自身的方法 动物</script></body></html>
<body><script type="text/javascript"> function Person(){ this.names=["小黑","小红","小豆腐"]; } function Student(){ } //让学生继承 Person Student.prototype=new Person(); //创建一个学生对象 var stu1=new Student(); stu1.names.push("小白"); document.write(stu1.names); //再创建一个对象 var stu2=new Student(); document.write(stu2.names);</script></body>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>借用构造函数</title></head><body><script type="text/javascript"> function Person(){ this.names=["小黑","小红","小豆腐"]; } function Student(){ Person.call(this); //继承了 Person } //创建一个学生对象 var stu1=new Student(); stu1.names.push("小白"); document.write(stu1.names+"<br/>"); //再创建一个对象 var stu2=new Student(); document.write(stu2.names); //没有小白!</script></body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>借用构造函数 传递参数</title></head><body><script type="text/javascript"> function Person(name){ this.name=name; } function Student(){ Person.call(this,"小黑"); //继承了 Person的同时 传递了参数 this.age=50; } //创建学生对象 var stu=new Student(); document.write(stu.name); document.write(stu.age);</script></body></html>
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>组合继承</title></head><body><script type="text/javascript"> /*构造方法*/ function Person(name){ this.name=name; this.names=["hei","bai","pei"]; } Person.prototype.sayHello=function(){ alert(this.name); } function Student(name,age){ Person.call(this,name); //继承属性 this.age=age; } Student.prototype=new Person();//继承了方法 //student特有的方法 Student.prototype.sayBey=function(){ alert(this.name); } /*创建对象*/ var stu=new Student("小黑黑",50); stu.names.push("小白白"); document.write(stu.names+"<br/>"); stu.sayHello(); stu.sayBey(); var stu1=new Student("小黑黑2",50); document.write(stu1.names+"<br/>"); stu1.sayHello(); stu1.sayBey();</script></body></html>
javaScript对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。