JavaScript创造对象的方法

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">

window.onload=function(){
//1**************************************************************************************************************

// var box=new Object(); //1:创建函数的基本方法
// box.name="feige";
// box.run=function(){
// alert(this.name+"runnig.....")
// }
//
//    box.run();
//    //缺点就是如果要创建一个类似的对象要产生大量代码

//2工厂模式**************************************************************************************************************

//
//    function createObj(name,age){ //共产模式创造对象
//    var obj=new Object();
//    obj.name=name;
//    obj.age=age;
//    obj.run=function(){
//    alert(this.name+this.age+"running......");
//    }
//
//    return obj; //返回对象引用
//
//    }
//    function createObj2(name,age){ //共产模式创造对象
//    var obj=new Object();
//    obj.name=name;
//    obj.age=age;
//    obj.run=function(){
//    alert(this.name+this.age+"running......");
//    }
//
//    return obj; //返回对象引用
//
//    }
//    var box1=createObj(‘feige‘,22);//创建第一个对象
//    var box2=createObj(‘cc‘,22); //创建第二个对象
//    box1.run();
//    box2.run();
// var box3=createObj2(‘kkk‘,2);
//
//    //PS:工厂模式虽然解决了重复实例化的问题,但是无法搞清楚他们到底哪个是对象的实例,例如下面的
//    alert(box1 instanceof Object);//true
//    alert(box3 instanceof Object);//still true
//
// 

//3构造方法创造对象**************************************************************************************************************
function Box(name,age){ //构造方法创造对象(改良后的工厂方法)
this.name=name;
this.age=age;
this.run=function(){
alert(this.name+this.age);
}
}

function Box2(name,age){ //构造方法创造对象
this.name=name;
this.age=age;
this.run=function(){
alert(this.name+this.age);
}
}

var box1=new Box(‘CC‘,13); //实例化
var box2=new Box2(‘cc‘,21); //实例化

//alert(box1 instanceof Box);
//alert(box2 instanceof Box);//与工厂模式不同可以区分出来实例,box2是Box2的对象的引用

//1.构造函数没有new Object但是后台会自动 var obj=new Object();
//2.this就相当于 obj
//3.构造函数不需要返回对象引用,他是后台自动返回的

//规范

//1.构造函数也是函数,但是函数名第一个字母大写
//2.必须new 构造函数(),new Box()
//3.必须使用new 运算符
var o=new Object();//对象冒充,可以把整个构造函数拿下来给o
Box.call(o,"冒充",12)
o.run();

}

</script>
</body>
</html>
时间: 2024-10-07 02:28:20

JavaScript创造对象的方法的相关文章

javaScript定义对象的方法

转自souhu新闻http://news.sohu.com/20110215/n279335637.shtml? javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义 优点:动态的传递参数 缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存 function User1(name, password) { this.name = name; this.password = password; this.login = function

javascript Array对象concat()方法

concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 语法: arrayObject.concat(arrayX,arrayX,......,arrayX) arrayX 必需.该参数可以是具体的值,也可以是数组对象.可以是任意多个. 返回值: 返回一个新的数组.该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的.如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组. 例子 1:

JavaScript Array对象基本方法

昨天出去前端面试又失败,期间问了个有关于数组对象的问题,下面就这类问题总结下JavaScript常用的数组操作方法. 一.何为数组(Array)对象 数组对象是使用单独的变量名来存储一系列的值. 二.创建数组的三种方式 2.1使用关键词 new 来创建数组对象. let myStar =new Array(); myStar[0]="刘德华"; myStar[1]="成龙"; myStar[2]="林青霞"; myStar[3]="王菲

javascript操作对象的方法

with 确定某个对象的作用区域,在with代码段内的次对象的属性或方法可以直接使用. 例: //比如stu中有name,age属性和walk方法 with(stu) { alert(name+" "+age);//即省略了stu.name此种类型的调用 walk(); } in 用于便利对象或数组等,便利对象返回对象属性的变量名,便利数组返回数组的脚标 例: //stu.name="lisi"; stu.age=12; for(s in stu) { alert(

javascript RegExp 对象的方法

RegExp 对象有 3 个方法:test().exec() 以及 compile().test()test() 方法检索字符串中的指定值.返回值是 true 或 false.例子:var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码的输出将是:true exec()exec()

了解JavaScript 数组对象及其方法

数组在我目前学习过的编程语言中都可以见到, 形形色色的方法也数不胜数, 不过功能都一样, 最多也就是方法名稍稍有所不同, 老外也没个准啊, 如果英语比较好的同学对于学习方法(method)来说是很快的, 因为基本都可以翻译出来, 不过也要勤加锻炼, 总体来说, 英语水平不怎么影响编程技术, 看看API的话, 认识点简单的词汇, 就差不多了. 数组对象 文中一再的把数组和对象一起说, 是因为数组具有对象的一切特性, 更准确的说数组属于一类对象, 一类继承自Array.prototype的对象, 所

javascript Array对象unshift()方法

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度. arrayObject.unshift(newelement1,newelement2,....,newelementX) newelement1 必需.向数组添加的第一个元素. newelement2 可选.向数组添加的第二个元素. newelementX 可选.可添加若干个元素. unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间. 该方法

javascript Array对象splice()方法

splice() 方法向数组中添加或者从数组中删除项目,然后返回被删除的项目.该方法会改变原始数组. 语法: arrayObject.splice(index,howmany,item1,.....,itemX) index 必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置. howmany 必需.要删除的项目数量.如果设置为 0,则不会删除项目. item1, ..., itemX 可选.向数组添加的新项目. splice()方法返回Array包含被删除项目的新数组,如果有

javascript Array对象toString()方法

toString() 方法可把数组转换为字符串,并返回结果. 语法: arrayObject.toString() 返回arrayObject的字符串表示.返回值与没有参数的join()方法返回的字符串相同.数组中的元素之间用逗号分隔. 当数组用于字符串环境时,JavaScript 会调用这一方法将数组自动转换成字符串.但是在某些情况下,需要显式地调用该方法. 例子: <script type="text/javascript"> var arr = new Array(3