JS object factory and inherit sample

/*
* Object factory
*/
function objectFactory(jsonObj){
function objectEntity(){

}
if(typeof jsonObj == "object"){
for(var index in jsonObj){
objectEntity.prototype[index] = jsonObj[index];
}
}
return objectEntity;
}

var Person = objectFactory({
pname:‘andy‘,
sex:‘man‘
});

var person = new Person();
console.info(person+"--"+Person);// [object Object] -- function objectEntity(){}
console.info(person.pname);
console.info(person.sex);
 

objectFactory create object per json obj-jsonObj
create function objectEntity will check whether jsonObj is object, and iterate the json object, set attribute value to objectEntity
return objectEntity, while Person refer to objectEntity
/*
* inherit
*/
function inherit(obj,prop){
function f(){

}
if(typeof obj=="object"){
for(var index in obj){
f.prototype[index] = obj[index];
}
}else{
f.prototype = obj.prototype;
for(var index in prop){
f.prototype[index] = prop[index];
}
}

return f;
}

var Animal = inherit({
type:‘animal‘,
name:‘animal‘,
jump:‘jump‘
});

var Dog = inherit(Animal,{
name:‘i am a dog‘,
jump:‘dog jumpping‘
});

var dog = new Dog;
console.info(dog.type);
console.info(dog.name);

JS object factory and inherit sample,布布扣,bubuko.com

时间: 2024-12-20 01:53:59

JS object factory and inherit sample的相关文章

js Object.keys

Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置.不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的.但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的.为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面. 我们把这

创建 JS Object 实例

创建 Object 实例的方式有两种.第一种是使用 new 操作符后跟 Object 构造函数,如下所示: var person = new Object(); person.name = "Jack"; person.age = 27; 第二种方式如下所示: var person = { name: "Jack", age: 27 } 使用第二种方式时,如果花括号内为空,则表示定义只包含默认属性和方法的对象.如下所示: var person = {}; perso

Convert JS object to JSON string

Modern browsers (IE8, FF3, Chrome etc.) have native JSON support built in (Same API as with JSON2). So as long you're not dealing with IE6/7 you can do it just as easily as that: var j={"name":"binchen"}; JSON.stringify(j); // '{"

[JS][Object][XScript]Printer Control

打印控件 ScriptX 1.先下载.cab档 并放置在网页数据夹 http://www.meadroid.com/scriptx/sxdownload.asp 2.输入以下程序 ■ 输入正确的版本及cab文件位址 原文:大专栏  [JS][Object][XScript]Printer Control 原文地址:https://www.cnblogs.com/chinatrump/p/11491048.html

JS Object类型

object类型  对象数据类型 js数据类型中的对象数据类型,由多组[属性名:属性值]组成   或者说  多组 '键值对' 组成 key : value var obj={name:"张三",age:6}; var personInfo ={ name = "张三"; age:28; height:"180cm"; weight:"60kg"; } var obj ={name:"zhufeng"};//

js Object.create 初探

1.作用 Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__. https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/create 2.Object.create内部实现 Object.create = function (o) { var F = function () {}; F.prototype = o; retur

js - Object常用属性(一)

Object.defineProperty && Object.defineProperties ECMAS-262第5版在定义只有内部采用的特性时,提供了描述了属性特征的几种属性.ECMAScript对象中目前存在的属性描述符主要有两种,数据描述符(数据属性)和存取描述符(访问器属性),数据描述符是一个拥有可写或不可写值的属性.存取描述符是由一对 getter-setter 函数功能来描述的属性. Object.defineProperty && Object.defin

js Object

对象 var ob = {}; 键值对 可以做为key的有 :数字,boolean(某些浏览器不支持,比如IE),字符串(不包含标识符) 可以作为value的有 :一切可以解析为具体值的代码 var o = {true:3,sdf:2,2:1}; 取值[] alert(o["true"]); //3 alert(o[1==1]); //3 alert(o[true]); //3 alert(o["sdf"]); //2 alert(o["s"+&

js Object 的冻结、密封、扩展的相同以及不同点

Object.freezed() 冻结 检查函数 Object.isFrozen(obj) Object.seal() 密封   检查函数 Object.isSealed(obj) Object.preventExtensions()扩展   检查函数 Object.isExtensible(obj) 共同点: 都不能添加新的属性(有一个例外就是属性是对象的时候,可以在这个子属性上添加属性(因为对象是一个引用类型)) 不同点: Object.freezed() 和 Object.seal()