- 浏览: 28416 次
- 性别:
- 来自: 珠海
最新评论
-
jutleo:
对象工厂的方式
前端MVC,这样封装M层好处是什么? -
xiaobadi:
ie上可以啊,我是ie8
弹出层 -
zxl10059:
还有待改进哟,在IE上不能弹出来!
弹出层 -
tsyouaschen:
太感谢了,我也想学一下php。路过了!!
PHP 第三天
文章列表
本文介绍基于事件编程的基础思想,用JavaScript代码表达(伪代码,不可执行)。
想象一下这个场景,明天你跟你家妞约好出去玩,你很想知道明天的天气怎样,于是你就打电话去气象站问,但是你不知道气象站什么时候能出结果,于是你就隔段时间打个电话问问,不停的打,然后人家被你弄烦了,不理你了。 这样做多不好,多不nice啊,于是你改变方法,跟气象站这么说:“您好,我很想知道明天的天气,这是我的电话号码,如果天气预报结果出来后,麻烦给我个电话,谢谢!”。过了段时间,气象站的工作人员打电话告诉你,明儿个是个大晴天,于是你高高兴兴的和你家妞出去玩了。。。。(OK,YY结束,回来现实世界(苦逼的单身汉) ...
前端MVC,这样封装M层好处是什么?
- 博客分类:
- Web前端
在《Javascript Web Application》第3章——Model and Data中对模型层的封装,代码如下:
虽然代码看懂了,可这样封装的好处有哪些呢?而且如果不配图,很难理解这段代码,求牛人解析。
var Model = {
inherited: function() {},
created: function() {},
prototype: {
init: function() {}
},
create: function() {
var object = O ...
最近一周的生活用几个词来形容:“稳定”、“无力”,活脱脱一个传说中的“上班猪”。每天晚上都折腾到很晚,第二天早上又起不来,问题的关键是折腾到很晚并不是学习,看书,而是看一些无聊的电影、电视剧,非得到自己困得不行才睡,完全是一种病态的生活,越来越感觉到无力,生活慢慢的走向堕落,我并不想这样。这样的生活我怎么能“仰天大笑出门去,我辈岂是蓬蒿人”,怎么能实现我考研的梦想?
“物极必反”我始终相信当一件事糟糕透得的时候,人们就要去思考,去想想如何去改善目前的状况。所以,我必须改变,改变这种病态的是生活方式,让自己恢复往日的雄心壮志,朝着自己的梦想去努力。第一,我要按时休息、早起,确保每 ...
写页面设计的朋友们,经常为浏览器CSS
的兼容性
头痛不已,经过本人的仔细研究发现一种好的写法,现在与大家分享。
<style type=”text/css”>
#body {
border:2px solid #00f; /*ff的属性*/
border:2px solid #090\9; /* IE6/7/8的属性 */
border:2px solid #F90\0; /* IE8支持 */
_border:2px solid #f00; /*IE6的属性*/
}
</style>
<di ...
在编码代码的过程中或完成之后的检查过程中需要注意的一些问题
在设计页面时,应该注意DIV标签的滥用问题,当有一个标签能够很明确的表达该部分的结构的话,就没有必要用DIV,例如:在导航中,没有必要用DIV包裹ul。另外:h1~h6属于block,可以善加利用。
______________________________________________________________
行级元素经过浮动后自动变成块级元素(以前我一直不知道,太可怕了)
________________________________________________ ...
未定义的变量
未声明的变量
未赋值的变量
未定义的变量 = 未声明的变量
尝试读取未声明的变量会引起运行时错误。
尝试给未声明的变量赋值不会引起错误,相反,程序会在全局作用域中隐式地声明它。
尝试读取未赋值的变量,将会得到一个默认值,即undefined。
变量作用域的基本规:
在域中以var声明的变量只在当前域或者当前域的子域起作用。
对变量的查找总是从当前域开始,递归向上查找各级嵌套父域,最后到达全局。因此如果给一个当前域的局部变量与父域中的局部变量或者全局变量起相同的的名字,就能有效地隐藏上级变量或全局变量。 ...
紧赶慢赶,终于用PHP完成了一个CRUD的小模块,感觉自己写的不是很好,结构很是混乱,本来也想细细的架构一翻,可是时间不允许啊(下周还有新的任务)。用惯了ROR的框架发现整个人像个温室的花朵了,突然用起PHP感觉自己什么都不会了,编码的速度明显下降,唉~~ 突然想感叹一下MVC架构在构建WEB服务中起的作用是多么的大啊!
不过经过这两天不是很爽的编码,又让我重新认识了MVC架构,让我有一种很想一探究竟的冲动。目前对PHP的学习还处在对语法、函数库的熟悉阶段。以后学习的路还很长,切不可松懈、怠慢。习惯使用纯面向对象语言,在编写PHP的时候总是很想往对象、类这方面想。虽然PHP在面向对 ...
看了几天的书,今天开始动手编程了,发现自已对变量和作用域这方面理解不透,这里做个总结。
在编程的时候我们总免不了会犯错,调试和查看日志,是两个很重要的方法来帮我们调试程序。在第三天里,我已经安装了xdebug来帮助调试(日志系统还没有时间看,待研究……),这里介绍几个标准输出函数供调试的时候用。
echo() 打印一个或多个简单变量或值
print() 打印一个简单变量或值
printf() 打印一个格式化字符串
var_dump() 打印一个变量的类型和内容
printf_r() 递归打印一个数组
debug_ ...
今天主要学习的任务主要是:
选一个比较的强大的IDE
学习PHP关于面向对象的特性
配置xdebug去调试程序
选一个比较的强大的IDE
Neteans是sun公司出品的一款比较强大的IDE,之前开发ROR一直用它,没想到它也支持PHP,用起来感觉还不错。下载
配置xdebug去调试程序
下载xdebug动态链接为:下载
放在PHP安装目录下,然后修改php.ini
zend_extension_ts="<path to the php folder>/php_xdeb ...
今天决定学习PHP ,希望以后每天记录学习的东东以及学习过程中的点滴。
第一天当然是应该先了解PHP是个什么东东:
脚本语言,主要应用于WEB服务器端编程。
不需要什么特殊的服务器,能将web服务器中运行。
能与mysql很好的链接,快带开发网站
语言本身即可以进行函数式编程,也支持面向对象编程。
可以将代码嵌入HTML中(在HTML混入PHP代码,这点不是很理解)
搭环境:
apache + PHP +mysql
需要特殊处理的地方:apache web服务器要支持PHP需要一些配置
让apache知道PHP在哪。在apache的配置文 ...
今天学习了PHP的一些语法基础:
数据类型、标识符、变量、常量、表达式、字符串、控制结构、函数、数组
感觉PHP怎么那么像C呢?整个一面向过程的编程语言,全是函数嘛!说是PHP从4.0添加了面向对象的支持,真的很想看看一个面向过程的编程语言是怎么支持成面向对象的语言的。那是明天的任务了,还是先总结一下今天学的东西吧。
同是脚本语言,拿Ruby和PHP比较一下,Ruby是完全的面向对象的语言,一切都是从对象开始,而PHP是面向过程的(暂时的,我还没看到面向对象呢 )。但是它们都拥有脚本语言的一些优点,让人写起代码来感觉特别爽(不用强制类型,变量用起来简单,且对函数 ...
prototype给我的感觉一直是个十分神秘的东西,深不可测,高不可攀,几次想找机会高懂它,都是半途而废,这次也不能算是完全明白,但似乎比以前明白的多了些,就记录下来,希望以后有了新的感悟再回头比较一下,修证现在的记录
首先引用“名人”的话,解释一下:
prototype不仅仅是一种管理对象继承的机制,更是一种出色的设计思想。
javascript中对象的prototype属性,可以返回对象类型原型的引用。
“原型”是描述自然界事物之间“归类”类系的一种,另外几种关系包括“继承”、“接口”,一般来说,“继承”描述的是事物之间固有的衍生关系,能被“继 ...
面向对象
面向对象的三大特点:封装、继承、多态
javascript语言本身拥有对象,实现了对属性,方法的封装(也只是封装了一半,并没有实现对属性和方法的访问控制),却并没有实现继承和多态,但却利用语言的其他 ...
这一周的时间是在把上一周看的CSS基本和上上周的jQuery基础拿来做实际的应用。通过实现林哥给的两个网页,真实的感受到了CSS的“博大精深”,不由的有点感概,为什么CSS没有像jQuery那样的库来处理兼容性问题呢?浏览器类型和大小的不一真是让人头都大了。虽然林哥哥给的两个网页都实现了,但是CSS的代码量却很大,大量使用ID选择器,元素选择器和类选择器用的很少,感觉自己在对网页整体样式的抽象、提取上没有经验,对各种浏览器之间的差异还不是很清楚(虽然在做的过程中也遇到了几个,相信还有很多)。对于页面的布局的选择(固定宽度,流式,弹性)也很迷茫。
在JS方面,真切的感受到 ...
一直以来都认为拖拽是一件很神奇的事情,今天终于有机会了解一下它的原理,这只是 一个简单的例子,还需要很多的优化、改进。
基本原理如下:
拖拽状态 = 0
鼠标在元素上按下的时候{
拖拽状态 = 1
记录下鼠标的x和y坐标
记录下元素的x和y坐标
}
鼠标在元素上移动的时候{
如果拖拽状态是0就什么也不做。
如果拖拽状态是1,那么
元素y = 现在鼠标y - 原来鼠标y + 原来元素y
元素x = 现在鼠标x - 原来鼠标x + 原来元素x
}
鼠标在任何时候放开的时候{
拖拽状态 = 0
}
代码:
<!DOCTY ...