学习JavaScript王者归来_02

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<html>

    <head>

        <title></title>

        <script>

            function
ArrayList(array) {

                this._arr = typeof(array) = "string"
? array.split(",") : array;

            }

            //定义一个$each函数,这个函数接受一个闭包作为参数

            ArrayList.prototype.$each = function(closure) {

                var
ret = [];

                for(var
i = 0; i < this._arr.length; i++) {

                    ret.push(closure.call(this, this._arr[i]));

                }

                return
ret;

            }

            ArrayList.prototype.add = function(num) {

                return
this.$each(function(a) {return
parseFloat(a) + parseFloat(num)});

            }

            ArrayList.prototype.multiply = function(factor) {

                return
this.$each(function(a) {return
parseFloat(a) * parseFloat(factor)});

            }

        </script>

    </head>

    <body>

        <input id = "list"
type = "text"
value = "1,2,3,4"
/>

        <input id = "num"
type = "text"
value = "2"
/>

        <input type = "button"
value = "Add"
onClick = "result.value = (new ArrayList(list.value)).add(num.value)"
/>

        <input type = "button"
value = "Multiply"
onClick = "result.value = (new ArrayList(list.value)).multiply(num.value)"
/>

        <br /><input type = "text"
id = "result"
/>

    </body>

</html>

JS异常

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

try
{

    var
n = prompt("Please enter a positive number");

    var
f = factorial(n);

    alert(n + "! = "
+ f);

} catch(ex) {

    if(ex instanceof
NonePositiveError) {

        aoert(ex.message);

    } else
{

        throw(ex);

    }

} finally {

    

}

function
NonePositiveError(n) {

    n = n || "";

    this.message = "";

}

NonePositiveError.prototype = new
Error();

function
factorial(n) {

    n = parseInt(n);

    if(isNaN(n)) {

        throw(new
TypeError());

    } else
if(n <= 0) {

        throw(new
NonePositiveError(n));

    } else
{

        return
n <= 1 ? 1 : n * factorial(n - 1);

    }

}

  

学习JavaScript王者归来_02,布布扣,bubuko.com

时间: 2024-10-11 06:31:03

学习JavaScript王者归来_02的相关文章

如何系统地学习JavaScript

在过去,JavaScript只是被用来做一些简单的网页效果,比如表单验证.浮动广告等,所以那时候JavaScript并没有受到重视.自从AJAX开始流行后,人们发现利用JavaScript可以给用户带来更好的体验,甚至利用这一优点开发了大型网页游戏,于是这门小语言被重视了起来.现在,很多公司会招专门的JavaScript工程师,通常JavaScript是WEB前端开发的必备技能.简单介绍了JavaScriptr的好处,并不代表大家就会去学习甚至把它学好,兴趣是很关键的,我认为兴趣是最好的老师,它

如何正确学习JavaScript

学习时长:6-8周学习前提:中学水平,无需编程经验 更新(2014-1-7) 在Reddit上创建了一个学习小组January 2014, “Learn JavaScript” Study Group on Reddit 目录 不要这样学习JavaScript 本课程资源 1-2周(简介,数据类型,表达式和操作符) 3~4周(对象,数组,函数,DOM,jQuery) JavaScript终极编辑器:WebStorm 第一个项目-动态问答应用 5-6周(正则表达式,Window对象,事件,jQue

如何理解并学习javascript中的面向对象(OOP) [转]

如果你想让你的javascript代码变得更加优美,性能更加卓越.或者,你想像jQuery的作者一样,写出属于自己优秀的类库(哪怕是基于 jquery的插件).那么,你请务必要学习javascript面向对象,否则你无法更灵活的使用javascript这门语言. 什么事闭包?到底什么是原型?(知道闭包和原型的,就算得上是javascript的高手了.但真正能够理解,并且灵活运用的人并不多)到底该如何学习javascript中的面向对象呢?在javascript这么语言正如日中天,相信不少人正在为

学习JavaScript中的异步Generator

本文和大家分享的主要是javascript中异步Generator相关内容,一起来看看吧,希望对大家学习javascript 有所帮助. 异步的generators和异步iteration已经到来 ! 这是错误的, 它们现在还在 阶段 3 ,这表示他们很有可能在JavaScript未来的一个版本中发布. 在他们发布之前,你可以通过 Babel 来在你的项目中使用还在阶段3的建议内容. 网站基本上还是一些分散运行的应用,因为任何在语言上的修改都会造成永久的影响,所以所有的未来的版本都需要向后兼容.

【转载】跟着9张思维导图学习JavaScript

原文:跟着9张思维导图学习JavaScript 学习的道路就是要不断的总结归纳,好记性不如烂笔头,so,下面将 po 出我收集的 9 张 JavaScript相关的思维导图(非原创). 思维导图小tips: 思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具.思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像.颜色等建立记忆链接,思维导图充分运用左右脑的机能,利用记忆.阅读.思维的规律,协助人们在科

如何循序渐进有效学习 JavaScript?

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:宋学彦链接:http://www.zhihu.com/question/19713563/answer/23068003来源:知乎 分享一篇 超毛 的一篇文章<如何学习javascript>(原文网址已经无法访问,所以就不放链接了,内容在下面) 内容: 首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门 谈不上经验,都是一些教训 这个时候有人要说,“靠,你丫半桶水,凭啥教我们”.您先别急着骂,先听我说

和demopu一起学习javascript ( concat函数 )

和demopu一起学习javascript (  concat函数 ) 定义和用法 concat方法可以把两个或者多个数组连接起来,组成一个新的数组. 语法 concat(array1,array2,......,arrayN) 参数 描述 array1 必需.该参数可以是具体的值,也可以是数组对象.可以是任意多个. 例子 1 var arr = ["George","John","Thomas"]; var arr2 = ["Jame

如何学习Javascript ?

先说说学js的条件 论条件,咱是文科生,大学专业工商管理,和计算机毛关系都没:有人说英语,读了四年大学,很遗憾,咱还四级没混过:就咱这条件都学得乐呵呵的,您还等啥.当然学习JS也是有门槛的,就是你的html和css至少还比较熟练,您不能连<body>这东东是干啥的都不知道就开始上JS了,学乘除前,学好加减法总是有益无害的. 学习JS的忠告 1,不要着急看一些复杂网页效果的代码,这样除了打击你自信心,什么也学不到. 2,别急着加技术交流QQ群,加牛人QQ.如果你找张三丰交流武功. 3,看网上什么

轻松学习JavaScript十一:JavaScript基本类型(包含类型转换)和引用类型

一值的类型 早在介绍JS的数据类型的时候就提到过基本类型和引用类型,不过在说两种类型之前,我们先来了解一下变量的 值的类型.在ECMAScript中,变量可以存在两种类型的值,即原始值和引用值. (1)原始值 存储在栈中的简单数据段,也就是说,它们的值直接存储在变量访问的位置. (2)引用值 存储在堆中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处. 为变量赋值时,ECMAScript的解释程序必须判断该值是原始类型,还是引用类型.要实现这一点,解释程序则需 尝试判断该值是否