构造函数模式自定义js对象

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*
 * 自定义javascript对象一:
 定义一个函数的时候,首字母大小,默认为构造函数了

 构造函数模式:
 	格式:function MyObject(){
	......js code......
}
如何遍历对象的属性:for in
 */
 //定义一个函数的时候,首字母大小,默认为构造函数了
 function MyObject(){

 }
 var myobj=new MyObject();
 //------------------------------------
 //this:指的就是该对象创建出来的实例对象(在javascript要摈弃类的概念)
 function Student(name,age){
	 this.name=name;
	 this.age=age;
	 //给对象添加函数类型的属性
	 this.getAge=function(){
		 return this.age;
	 };
	 this.setAge=function(age2){
		 this.age=age2;
	 };
 }
 var stu1=new Student("胡哥","秘密");
 alert(stu1.name);
 stu1.setAge(18);
 alert(stu1.getAge());
 //给新对象添加属性-这样的写法也是ok的啦
 stu1.setName=function(name){
	 this.name=name
 }
 //-----------构造方法模式的优缺点------------------
 //1.使用简单
 //2.缺点:所有新创建的代码,都有相同的代码块,造成浪费空间
 //遍历对象的属性
 for(tt in stu1){
	 alert("属性:"+ttt);
 }
</script>
</head>
<body>

</body>
</html>

构造函数模式自定义js对象,布布扣,bubuko.com

时间: 2024-10-13 22:37:50

构造函数模式自定义js对象的相关文章

【全站工程师练习笔记】Web前端 自定义JS对象 object_list

function object_list(){ return new object_list.fn.init(arguments); } object_list.fn = object_list.prototype = { constructor:object_list, init:function(args){ this.useDefaultList = true; this.object = {}; return this; } }; object_list.fn.init.prototyp

js - 创建对象的几种方式(工厂模式、构造函数模式、原型模式)

原文引用https://www.dazhuanlan.com/2019/08/26/5d62f8b594f10/ 工厂模式 做法:内部创建一个对象,并未对象属性赋值并且返回 缺点:解决创建多个相识对象的问题,但不能识别创建的对象的类型 构造函数模式 做法:直接将属性和方法赋值给 this 对象,没有 return 语句 缺点:对象不是共用方法和属性,每 new 一次对象就要创建一个内存,超出性能消耗 原型模式 做法:通过 prototype 为对象添加属性 缺点:每个实例都共享属性方法,实例中修

自定义JS组件——系列1(TableGrid | Toolbar | LinkButton | Pager)

2月份第一次JS组件,写了几个:TableGrid, Toolbar, LinkButton, Pager,现在发出来. TableGrid可以包含Toolbar, Pager. Toolbar可以包含LinkButton.这样就构成了具有工具栏.分页栏的数据表格控件.也就是说,这4个组件可以独立使用,也可以结合使用.通篇只采用一种结构来编写,若能看懂编写规则,往后就可以按照这种模式自定义JS控件了. 1 var fjn=fjn?fjn:{}; 2 (function($,global){ 3

关于 js 对象

js中所有事物都是对象:字符串 数组...()万物皆对象 js 有一些内建对象 String Date Array等 属性类型 [[Configurable]] 表示能否通过 delete 删除属性从而从新定义属性,能否修改属性的特性 [[Enumerable]] 表示能否通过 for-in 循环返回属性 [[Writable]] 表示能否修改属性的值. [[Value]] 包含这个属性的数据值,默认为 undefined 不建议操作以上属性. 创建对象: 方式一:工厂模式 function c

基于js对象,操作属性、方法详解

一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很

JavaScript面向对象OOM 2(JavaScript 创建对象的工厂模式和构造函数模式)

??在创建对象的时候,使用对象字面量和 new Object() 构造函数的方式创建一个对象是最简单最方便的方式.但是凡是处于初级阶段的事物都会不可避免的存在一个问题,没有普适性,意思就是说我要为世界上(程序中)的所有使用到的对象都使用一遍 var xxx = {} ,对于'懒惰'的程序员来讲是不可以接受的.即便你能接受这种创建的方式,也无法保证将所有对象归类这一哲学问题. ??由此,优秀的程序员们利用现有的规则,创造出了一种种优秀的解决方案 -- 这些优秀的解决方案统称为设计模式. ??在 J

Javascript-稳妥构造函数模式

function Person(name,age){ var o = new object(); o.sayName = function(){ alert(name); } } var friend = new object(name1,age1); friend.sayName(); //name1; 变量friend中vaocun的是一个稳妥对象,而除了调用sayName方法外,没有别的方式可以访问其他数据成员.即使有其他代码会给这个对象添加方法或者数据成员,蛋也不可能有别的办法访问传入到

JS创建对象模式及其对象原型链探究(五):组合使用构造函数模式和原型模式

组合使用构造函数模式和原型模式 构造函数模式用于定义实例属性,原型模式用于定义方法和共享的属性. 创建自定义类型的最常见方式,就是组合使用构造函数模式和原型模式. 1.创建对象 // 组合使用构造函数模式和原型模式 function Person(name, age, job){ this.name = name; this.age = age; this.job = job; this.friend = ["Jenny", "Court"]; } Person.p

构造函数模式自己定义js对象

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* * 自己定义javascript对象一: 定义一个函数的时候,首字母大小,默觉得构造函数了 构造函数模式: 格式:function MyObje