js练习题

1.sum1为奇数和,sum2为偶数和

		var sum1 = 0, sum2 = 0, i = 1;
        while(i <= 100){
            i % 2 ? sum2 += i : sum1 += i;
            i++;
        }
        console.log(sum1,sum2);

2.页面弹出对话框你喜欢js吗(如果不输入喜欢无线循环)

        var str = prompt('你喜欢js吗?');
        while(str != '喜欢'){
            str = prompt('你喜欢js吗?');
        }

3.打印1-用户输入的数值之间能被3整除的整数

var num = prompt('请输入数字');
        for(var i = 0; i < num; i++){
            i%3 ? '': console.log(i);
        }
``
4.100内所有能被37整除的数的和

```javascript
		var sum = 0;
        for(var i = 1; i < 100; i++){
           sum += (i%3 || i%7) ? 0: i;
        } 
        console.log(sum);
``
**5.接收用户输入的用户名和密码,若用户名为 “admin” ,且密码为 “123456” ,则提示用户登录成功! 否则,让用户一直输入。**
```javascript
		var username = prompt('请输入用户名');
        var pwd = prompt('请输入密码');
        while(username != 'admin' || pwd != '123456'){            
            username = prompt('请输入用户名');
            pwd = prompt('请输入密码');            
        }
        alert('登录成功');

6.求1-100之间个位数不为3的数的累加和

		 var sum = 0;
        for(var i = 1; i <= 100; i++){
            
            if((i % 10) == 3){
                continue;
            }
            sum += i;
        }
        console.log(sum);

7. 求1-100之间个位数不为3,6,9的数的累加和

		var sum = 0;
        for(var i = 1; i <= 100; i++){
            
            if((i % 10) == 3 || (i % 10) == 6 || (i % 10) == 9){
                continue;
            }
            sum += i;
        }
        console.log(sum);

8.斐波那切数列
1,1,2,3,5,8,13,21,34…

        // 斐波那契数列
        function fn(n){
            if(n == 1 || n ==2) return 1;
            return fn(n-2) + fn(n-1);
            
        }
       console.log( fn(10));

9.this指向练习

		function Foo(){
           getName = function(){console.log(1);};
           return this;
       }
       var getName = function(){console.log(4);}
       Foo().getName();//window.getName()
        /*
        GO={
            getName:undefined--function(){console.log(4);}--function(){console.log(1);},
            Foo:function {
                getName = function(){console.log(1);}
                return this;
                }
        }
        AO里面没有undefined
        */


        
       function Foo(){
           var getName = function(){console.log(1);}
           return this;
       }
       var getName = function(){console.log(4);}
       Foo().getName();//window.getName()
        /*
        GO={
            getName:undefined--function(){console.log(4);},
            Foo:function {
                getName = function(){console.log(1);}
                return this;
                }
        }
        AO={
            getName:function(){console.log(1);}
        }
        */

10.this指向练习

        var name = 'lili';
        var obj = {
            name:'liming',
            prop:{
                name:'ivan',
                getname: function(){
                    return this.name;
                }
            }
        };
        console.log(obj.prop.getname());//ivan
        // prop调用的getname,所以找到的是prop里面的name
        var test = obj.prop.getname;//var test = function(){return this.name();}
        console.log(test());//window调用test lili

11.写一个函数,调用结果如下
sum(1,2,3,4,5);//15
sum(5,null,-5);//0
sum(‘1.0’,false,1,true,1,‘A’,1,‘G’,1);//5
sum(0.1,0.2);//0.3

        sum(1,2,3,4,5);//15
        sum(5,null,-5);//0
        sum('1.0',false,1,true,1,'A',1,'G',1);//5
        sum(0.1,0.2);//0.3
        function sum(){
            var r = 0;
            for(var i = 0; i < arguments.length; i++){
                // 三目运算符方法
                // r += typeof arguments[i] == 'string' ? 0 : arguments[i];//当实参类型为string时,加0

                // 类型为string时,跳出本次循环,执行下一次
                if(typeof arguments[i] == 'string'){
                    continue
                }
                r +=  arguments[i];
            }
            console.log(r.toFixed(3)*1000/1000);//toFixed保留三位小数
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值