(4)模型和数据

(1)MVC 和 命名空间

var User = {
        getData:function(){
            //$ajax get data
        }
    };

    User.getData();

用模型的属性保存至命名空间的做法可以足球报不会产生冲突,但是我们写成一个类的形式去使用,而不是一个简单的对象

 var User = function(){};
    User.prototype.destory = function(){};
    var user = new User();
    user.destory();

(2)构建对象关系映射ORM

ORM是一个包装了一些数据的对象层,以往的ORM常用于抽象SQL数据库,但在这里ORM只是用于抽象

javascript数据类型。这个额外的层有一个好处,我们可以通过给它添加自定义的函数和属性来增强基础数据

的功能。比如添加数据的合法性验证、坚挺、数据持久化及服务器端的回调粗粒等,增加代码的重用率

原型继承:理解Object.create()

Object.create()只有一个参数,那就是原型对象(是一个对象),传入一个对象,返回一个继承这个对象的新对象。

看用法:

 var User = function(){};
    User.prototype.destory = function(){
        console.log("destory");
    };
    var user = new User();

    var newUser = Object.create(user);
    newUser.destory();//destory

仔细看chrome里面的对象属性

可以看到newUser对象的原型指向user的原型。

Object.create()是在ECMAScript5第五版规范才出现,所以在一些浏览器中并未实现,例如IE,

所以我们需要给这些浏览器打补丁

if(typeof Object.create !==‘function‘){
        Object.create = function(parentObj){
            var F = function(){};
            F.prototype = parentObj;
            return new F();
        };
    }

再看这个例子:

var Model = {
        inherited:function(){},
        created:function(){},
        prototype:{
            init:function(){}
        },
        create:function(){
            var object = Object.create(this);
            object.parent = this;
            object.prototype = object.fn = Object.create(this.prototype);
            object.create();
            this.inherited(object);
            return object;
        },
        init:function(){
            var instance = Object.create(this.prototype);
            instance.parent = this;
            instance.init.apply(instance,arguments);
            return instance;
        }
    };
时间: 2024-10-19 15:03:51

(4)模型和数据的相关文章

学习ASP .NET MVC5官方教程总结(六)通过控制器访问模型的数据

学习ASP .NET MVC5官方教程总结(六)通过控制器访问模型的数据 在本章中,我们将新建一个MoviesController 控制器,并编写获取电影数据的代码,使用视图模板将数据展示在浏览器中. 在进行下一步之前,你需要先编译应用程序,否则在添加控制器的时候会出错. 在解决方法资源管理器的Controllers文件夹右键,选择"添加">"新建搭建基架项": 在"添加支架"对话框,选择 包含视图的MVC 5控制器(使用 En),然后单击

实现按行读取文件,把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出。

/* 2 编写一个业务函数,实现按行读取文件.把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出. 函数原型有两个,任意选择其一 要求1:请自己任意选择一个接口(函数),并实现功能:70分 要求2:编写测试用例.30分 要求3:自己编写内存释放函数 */ /********************************************************************** * 版权所有 (C)2015, Wu Yingqiang. * * 文件名称:ReadFi

模型、数据、验证相关点

1)model 模型 1 /** 2 * 模型类创建方法一 3 */ 4 // 注册一个模型类usersmodel 5 Ext.regModel('UserModel', { 6 fields : [ 7 // 定义模型类的相关字段时要注意添加类型 8 // 常用类型通常是:string,integer,boolean,float 9 { 10 name : 'name', 11 type : 'string' 12 }, { 13 name : 'age', 14 type : 'int' 1

MariaDB、MySQL双主互备模型同步数据

MySQL双主互备即两台MySQL服务器同时是主服务器,而同时又是对方的从服务器,这样可以分担主服务器的一部分写请求,因为如果是单主模型的话数据写入只能写入在一台MySQL服务器,而双主模型则可同时写在两台服务器上,有效加快了写入的速度,而且还能提供数据的备份功能. 环境如下: server1:CentOS 6.5 x86_64 mariadb 10.0.10 IP:192.168.10.204 server2:CentOS 6.5 x86_64 mariadb 10.0.10  IP:192.

MVC 5使用ViewData(模型)显示数据

看过此篇<MVC 5使用ViewData(对象)显示数据>http://www.cnblogs.com/insus/p/3377178.html 都明白在控制器使用ViewData(object)进行传递数据给View(视图).现在在这基础之上,使用ViewData(模型)来从控制器传递数据给视图. 操作上均是相同的步骤,只是在控制器与视图中写代码不相同而已.在下图中,我们只是comment out #23和#25行代码,改为#27行代码.是直接把实例对象传入View()中. 接下来,看看视图

IOS第七天(3:UiTableView 模型和数据的分组的显示)

*************UiTableView模型和数据的分组的显示 #import "HMViewController.h" #import "HMHero.h" @interface HMViewController () <UITableViewDataSource, UITableViewDelegate> @property (nonatomic, strong) UITableView *tableView; @property (nona

Laravel中使用模型对数据进行操作

public function orm(){ //查询表的所有记录 //$user = Admin::all(); //dd($user); //查询某一条记录 //$user = Admin::find(2); //dd($user); //findOrFail() 根据主键查找,如果没有找到就抛出异常 //$user = Admin::findOrFail(1); //dd($user); //查询所有记录 //$user = Admin::get(); //dd($user); //增加条

Javascript MVC 学习笔记(一) 模型和数据

写在前面 最近在看<MVC的Javascript富应用开发>一书,本来是抱着一口气读完的想法去看的,结果才看了一点就傻眼了:太多不懂的地方了.只好看一点查一点,一点一点往下看吧,进度虽慢但也一定要坚持看完.本学习笔记是对书上所讲解内容的理解和记录. 笔记里的代码大多会按书上摘录下来,因为<MVC的Javascript富应用开发>是结合了JQuery库,所以对于JQuery中不太懂的知识点也会附在代码后面,也算是一些额外的收获. MVC概述 要学习MVC,首先得知道MVC是什么,MV

dedecms新建内容模型“把数据保存到数据库附加表时出错‘xxx’出错”错误的原因分析和解决方案(转)

把数据保存到数据库附加表 `bc_addonarticle17` 时出错,请把相关信息提交给DedeCms官方.INSERT INTO `bc_addonarticle17`(aid,typeid,redirecturl,templet,userip,body, ) Values( 11 , 11 , , , 127 0 0 1, )You have an error in your 今天在使用dedecms之梦系统进行建站的时候,使用新创建的自定义内容模型来添加文章的时候出现了错误,错误描述如