博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript Mvc学习杂记2
阅读量:5863 次
发布时间:2019-06-19

本文共 1913 字,大约阅读时间需要 6 分钟。

继续Javascript MVC 学习的探索,上次说到一个Model类,负责创建实际类,以及类实例化,这次接着添加ORM元素,即对象持久化特征。代码如下


//基于原型的继承if(typeof Object.create!=="function"){
Object.create=function(o){
function F(){} F.prototype=o; return new F(); }}var Model={
prototype:{
init:function(){
console.log('Model.prototype.init'); }, find:function(){
console.log('Model.prototype.find'); } }, inherited:function(){
//console.log('exec inherited') }, created:function(){
//console.log('exec created!'); }, create:function(){
var object=Object.create(this); object.parent=this; object.prototype=object.fn=Object.create(this.prototype); object.created();//创建完成方法 this.inherited(object); //继承父类属性方法 return object; }, init:function(){
var instance=Object.create(this.prototype); instance.parent=this; instance.init.apply(instance,arguments); return instance; }, extend:function(o){
for(var key in o){
this[key]=o[key]; } }, include:function(o){
for(var key in o){
this.prototype[key]=o[key]; } }};//类方法Model.extend({
records:{}, initattr:function(o){
var obj=this.init(); for(var key in o){
obj[key]=o[key]; } return obj; }, find:function(id){
return this.records[id]; }});Model.include({
save:function(){
this.parent.records[this.id]=this; }});var User=Model.create();//类实例方法User.include({
getname:function(){
console.log(this.name); }});var user=User.initattr({
"name":"xuwm","age":12,"id":1});user.save();var u=User.find(1);u.getname();

跟上次不一样的地方是,添加了一个records对象,负责保存创建的类实例,还有一个根据实例ID属性查询的find类方法。

实例运行跟上次一样,保存代码为demo.js ,命令行切换到NODE的目录,输入node demo.js,即可看到结果。

一点心得,尽当以后温故:)

转载地址:http://vofnx.baihongyu.com/

你可能感兴趣的文章
div替代iframe
查看>>
SQL 优化原则(转)
查看>>
Java中 @override 报错
查看>>
Js 实现trim方法
查看>>
ListVIew中包含水平滑动控件,左右滑动时容易触发上下滑动
查看>>
Android网络连接判断与处理(转载)
查看>>
Python学习笔记(八)
查看>>
js---open打开新窗口
查看>>
maven 依赖文件 pom.xml 编译 mvn compile 运行 不用mvn exec:java -Dexec.mainClass="hello.HelloWorld"...
查看>>
Qt5 Cmake
查看>>
搭建java环境(Eclipse为例)
查看>>
Mysql远程连接配置
查看>>
170. Two Sum III - Data structure design - Easy
查看>>
git分支branch合并到主分支master
查看>>
* average vector from multiple files--Matlab
查看>>
Python3下安装Scrapy
查看>>
selenium登录界面,创建表单并填写提交
查看>>
优秀程序员要做到的十点
查看>>
清除子元素浮动方法总结
查看>>
Struts2入门3 深入学习
查看>>