js的对象的原型方式
来源:互联网 发布:数据库工程师有前途吗 编辑:程序博客网 时间:2024/05/22 15:09
//原型方式-->重点prototype(是Object拥有的一个属性,因此所有的对象都拥有这个属性)创立对象
//此种方式建立对象不能传递参数,因为该构造函数体内是个空的。
function Dog(){}
Dog.prototype.name = "小毛";//属性值还可以是数组
Dog.prototype.age = 21;
Dog.prototype.get = function(name, age)
{
this.name = name;
this.age = age;
document.write("name:" + this.name + " , "+ "age:" + this.age );
}
//new Dog().get("野兽",24);
//另外一种用原型建立对象
function Cat(){}
Cat.prototype.name = new Array();
Cat.prototype.age = 3;
Cat.prototype.get = function()
{
document.write("name: " + this.name + " , " + "age:" + this.age,"<br/>");
}
var cat1 = new Cat();
cat1.name.push("张三");
cat1.name.push("李四");
cat1.age = 1;
cat1.get();
var cat2 = new Cat();
cat2.get();
//age是Number类型,是原型,它的值改变只是它的副本,并不会改变它本省。但是name是数组类型的,它是引用类型,所以它的值会改变它本省。
//使用原型和构造函数的方法构建对象
//好处:即可共享原想对象中的方法,又可以通过构造方法建立对象的不通的属性,一举两得。
function Person(name, age)
{
this.name = name;
this.age = age;
}
Person.prototype.get = function()
{
document.write("name:"+this.name+" , "+"age:"+this.age);
}
//new Person("曹欢",21).get();
//动态原型构造对象
//这种构造出来的对象的属性值可以改变,但是方法却只实例化一次(用flag标志来确定)
function Dog(name, age)
{
//static sex = "男";
this.name = name;
this.age = age;
//alert(typeof Dog.asd == 'undefined');
if(typeof Dog.flag == "undefined")
{
alert("值执行了一次");
Dog.prototype.get = function()
{
document.write("name:"+this.name+" , age"+this.age);
}
Dog.flag = true;
//alert(Dog.flag);
}
}
var d1 = new Dog("小紫",21);
var d2 = new Dog("小花",22);
//d1.get();
//d2.get();
- js的对象的原型方式
- JS的面向对象-工厂方式-原型-继承
- JS-原型对象的理解
- js的原型和对象
- JS 对象,原型的理解
- JS中的几种原型对象与实例对象的判别方式
- javaScript动态原型的方式定义对象
- javascript对象的创建方式,原型,方法
- JS面向对象的几种创建方式:工厂模式、构造函数模式、原型模式、混合模式、动态原型模式
- Javascript对象的工厂方式,原型方式,混合方式
- 谈谈JS的核心技术:原型对象和原型链
- 谈谈JS的核心技术:原型对象和原型链
- 图解js原型(原型,对象,函数之间的关系)
- 关于JS原型对象的创建
- js的原型链和对象理解
- 理解js的prototype原型对象
- 谈谈对js原型对象的理解
- 对js原型对象的理解
- 297. My son is my son till he has got him a wife, but my daughter is my daughter all the days of her
- Matlab connect strings, seperate pathstr, name and ext
- 自考后的总结
- 【图解】Linux下C程序进程地址空间布局
- Ubuntu 10.04 + mysql + Nginx 安装与集成 Redmine 1.4
- js的对象的原型方式
- 2012.8.17 单词 Confronting(面对) witchcraft(巫术) in Britain
- 在秋风已至的季节
- Connected Components Workbench 1.0.2导入Easy8+库文件
- 封装,继承,多态
- SAP 标准教材和自学方法
- linux基础知识
- 带着绝望和疯狂
- undefined reference to `__android_log_print'解决