JavaScript简洁编程的idea

来源:互联网 发布:邮箱服务器软件 编辑:程序博客网 时间:2024/05/16 09:31

“虽然知道了很多道理,但依然过不好这一生”

虽然知道了很多方法,却依然写不好JavaScript代码~~

在服务端,用MVC5、SSH,按照他的步骤,基本就够处理一般问题了。

而坑爹的,需要多做几个模块,需要多一些事件响应,需要做一些canvas动画......

总之就是要把前端做绚了发火

总之就是前端JavaScript模块代码量增加了!代码维护量增加了!

没事,通过学习使用各种框架,架构解决问题.......然而并没有什么卵用(森森感觉自己的学习能力太差了委屈

虽然使用了框架的API减少了很多操作,但还是碰到这个问题:写一个函数,触发一系列的计算,发送了ajax,又动态更改了dom,为新的dom元素绑定事件......然后呢,然后让我想想我做到哪了疑问

而用的最多的就是MVC了,而前端在整个系统中,就算是其中V的部分,又把它拆分成MVC,有点吃饱了撑(反正Google没出能用的结果,有了就直接用完了睡觉,懒~)

由此对前端仔细想了一下,得出了如下流程:

1、用户输入地址后

2、浏览器加载页面后,页面说到底是静止不动的(抛开setTimeOut等自动执行方法);

3、用户的鼠标、手指等的东西对浏览器发出指令时,显示的页面(dom+css)一定要有变化;不动就算死了!

4、能够循环回到第2点;

核心就两点:1、能够接收改变页面的指令;2、能够根据指令改变页面(dom+css);

唯一的指令改变唯一的页面,这就是JavaScript要做到事情了。


实现是这样的,创建一个html文件,加入<div id="content"></div>,如下是js代码,随便放哪都行

var CC = {

View:{},
Control:{}

CC.Control = {

Practice:function(data){
                var word = "sa";
                CC.View.Show("WordPractice",{say:word});
         }

}

CC.View= {

MySay:function(data){
                 document.getElementById("content").innerText = data.say;
             }

}

CC.View.Show = function (name,data){

CC.View[name](data);

}

这么写,就可以把指令归纳入CC.Control,把对页面的更改归纳入CC.View; CC.View.Show,只负责选择指定的View,并传入data。


CC.Control中的每一个指令,都可以执行1个或多个CC.View的函数,实现了“唯一的指令改变唯一的页面”这个概念(所以用CC来表示这个概念)。

先写这么多吧,详细的东西会多一点,这个博客就是日志工具记录一下每天的心得。

若有帮助,和我说一声,帮分享一下

若有错误,请及时指出呀,不能坑别人

当然,还有 然并卵

0 0