码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 中break、 continue、函数不能重载

时间:2014-11-25 00:15:12      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   sp   java   for   数据   

  在javascript中,break与continue有着显著的差别。 

  如果遇到break语句,会终止最内层循环,无论后面还有多少计算。

  如果遇到continue,只会终止此次循环,后面的自循环依然执行。

        var num = 0;
        for (var k = 0; k < 3; k++) {
            for (var i = 0; i < 3; i++) {
                for (var j = 0; j < 3; j++) {
                    if (i === 1 && j === 1) {
                        break;
                    }
                    num++;
                }
            }
        }
        console.log(num);

  此时 num=3*3-3*2=21

  如果换成continue,则 num=3*3-3*1=24;

 

  看看换成标签会出现什么情况呢,情况代码:

var num = 0;
        comeouter:
        for (var k = 0; k < 3; k++) {
            for (var i = 0; i < 3; i++) {
                for (var j = 0; j < 3; j++) {
                    if (i === 1 && j === 1) {
                        break comeouter;
                    }
                    num++;
                }
            }
        }
        console.log(num);

  由于是break,因此,一旦i===1&j===1,则立刻退出全部循环,因此 num=4;

  如果是continue,则只保留最外层的循环,里层循环不在执行,因此 num=3*4=12;

 

(二)

  在面向对象的语言中, 根据函数的参数类型与参数的个数不同,我们可以对函数进行重载; 但是Javascript中没有函数重载的说法。

  如果定义两个javascript函数,解析器只会解析写在最底端的那个函数。

        function testA(num1, num2) {
            console.log(num1+-+num2);
        };
        
        function testA(num1) {
            console.log(num1);
        };

        testA(15, 18);

  运行的结果是 15。

  也许会觉的奇怪,我传入了两个参数,调用的是只有一个参数的函数,为什么不报错呢?

  这是因为在Javascript中,解析器不管传过来的参数的个数以及类型的,有多少调多少。

  所有的参数其实都是放在一个叫做 arguments 里的,这类似于一个数组,可以存储不同类型的数据,看下面的代码。 

     function testA() {
            console.log(arguments[0]+--+arguments[1]);
        };

        testA(15, 18);

    输出结果是15--18。

 

(三)

  关于’==‘与’====‘的区别

  请看下面

  console.log(true==1)   输出true

  console.log(true===1) 输出false

(四)

  任何与NaN 进行操作,输出的结果都是Nan,比如NaN + 1。

  console.log(null ==undefined) 输出ture。 

 

  

javascript 中break、 continue、函数不能重载

标签:style   blog   io   ar   color   sp   java   for   数据   

原文地址:http://www.cnblogs.com/xianrongbin/p/4119888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!