2009-12-14 10:33
在webrebuild北京站上做的一次分享,总结了一下javascript的分层概念。
这里特别推荐一下YUI3给我们带来的分层概念:
1)底层(框架提供):封装DOM和Event相关操作,提供跨浏览器兼容的接口,扩展原生javascript语言本身不提供的但又特实用的接口,例如namespace;
2)抽象类层(框架提供):提供类的抽象层,用于统一框架组件层,自定义组件层和应用层中所有类的格式,例如统一初始化方法,毁灭方法,属性如何定义,监听事件在什么方法里等等等等;
3)通用组件层(框架提供):依赖 |
2009-12-04 11:29
1)rails自动生成的目录中,lib目录和vendor目录分别用于存放你自己编写的组件或者第三方提供的组件,它们需要被你的应用程序用到,但又不专属于你的项目。log目录下存放的是日志文件,日志文件会针对开发环境,测试环境和生产环境分别记录。config目录是用来设置rails的配置的,其中包括用于配置服务器链接的yml文件和运行时环境配置文件等。运行时环境配置可以针对三个环境分别进行设置,公共的部分在config根目录下的environment.rb文件中设置,而针对某个环境的设置,则在config/environments/目录下的development.rb、produ |
2009-12-03 16:54
2009-12-01 11:07
2009-11-27 18:13
String 类
1)单引号和双引号。 单引号不会对里面的字符进行转义,类似于"\n”这样的转义会直接输出,也不能包含表达式。双引号则可以包含转议字符,也能包含表达式,表达式的格式为 #{xxxx}。需要注意的是,如果单引号里的字符串也包含单引号,还是要用“\'”进行转义的,这个转义是支持的。
=======================
a = "abc"
b = "1\n2\n3\n#{a}"
c = '1\n2\n3\n#{a}'
puts b # |
2009-11-26 14:50
Array 类
1)新建数组。 ruby中新建数组有多种方法。
<1> 使用[],类似于js。
================================
a = [1,2,3]
p a #=> [1,2,3]
================================
<2> 使用Array.new。
================================
a = Array.new
p a #=> []
a = Arr |
2009-11-24 18:07
Numeric类
1) 整型和整型相加结果为整形,整形和浮点型相加,结果为浮点型。
================================
p 1+1 #=>2
p 1+1.0 #=>2.0
p 3 * 2.0 #=>6.0
================================
2) divmod。 除了+ - * / %之外,ruby中数值类型还有divmod方法,它也是除的运算符,只是返回值是数组的形式, |
2009-11-23 12:04
1) sleep方法。 ruby中也有定时器,sleep相当于js中的setTimeout函数,不同的是sleep后的参数单位是秒,不是微秒。另外,js中的setTimeout是另起一个线程,不停止主线程继承往下执行,和ajax类似,ruby的sleep方法却是会阻止当前线程往下执行的。
2)ruby的函数中return是可以省略的,如果省略,方法中的最后一个语句的计算值会是返回值。
========================================
def area(x,y,z)
xy = x * y
yz = y * z
|
2009-11-22 20:30
event对象在IE和firefox下表现是不同的。在IE下,event是window对象的一个属性,是在全局作用域下的,而在firefox里,event对象是做为事件的参数存在的:
===========================
<input type="button" id="btn" value="click me" />
<script type="text/javascript">
document.getElementById("btn").onclick = function(){
alert(arguments.length);
};
</script>
|
2009-11-22 00:22
protype是个很有趣的属性,它是“类”所持有的属性。在javascript里原生提供的一些内置类,其本质也是“类”,内置类提供的方法我们也可以通过prototype来覆盖掉,这是件很有趣的事情。例如:
=========================================
var str = str2 = "ab,cd,ef,g";
var arr = str.split(",");
String.prototype.split = function(a){
return "hello,you input: " + a;
}
String.prototype.length = 200 |
|
|