打印

一起来玩玩javascript(二)

一起来玩玩javascript(二)

上一篇中我们做了一个貌似很酷,但的确没有实际使用价值的例子,其实那不过是javascript继承机制一个非常简单直观的展示而已。prototype,也就是原型,可以说是javascript面向对象的基础,强大的javascript库prototype.js就是这种机制的淋漓展示。关于其中的原理我们不多说,大家自行google之即可。

来点实际的东西吧!

首先我们来看一段ruby代码:
复制内容到剪贴板
代码:
irb(main):004:0> "hello,prototype!".capitalize
=> "Hello,prototype!"
ruby的字符串内置了一个capitalize方法,可以将字符串的首字母大写,其它字母统统变小写,如何用javascript实现呢?

这也是问题?真是简单的让人。。。。。

好了,我想大多数js程序员都会写下面这段代码:
复制内容到剪贴板
代码:
function capitalize(str) {
     return str.charAt(0).toUpperCase() + str.substring(1).toLowerCase();
}

alert(capitalize("hello,prototype"));
的确没有问题,但是。。。。不漂亮、不美观。。或者。。。(貌似)专业一点说,不够OO

联想到上次的例子,稍微动一下脑筋,就有了下面的代码:
复制内容到剪贴板
代码:
        <script type="text/javascript">
            String.prototype.alert = function() {
                alert(this);
            }

            "Your computer is too SB sir!".alert();
            String.prototype.capitalize = function() {
                return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
            }

            "hello,prototype!".capitalize().alert();
        </script>
嗯,我们的字符串自己会做好这一切

是不是有一种冲动?我的字符串还可以。。。。。

的确可以,不过重新造轮子真的不是很必要,有了上面的基础,就去http://www.prototypejs.org/看看吧

enjoy!
First they ignore you, then they laugh at you, then they fight you, then you win.

TOP

给点动力,希望会成一部javascript实践权威指南

TOP