zoukankan      html  css  js  c++  java
  • javascript数学对象、自定义对象10.0

    10、数学对象

    (1)、绝对值

    var n = -12;
    var res = Math.abs(n);
    //12
    console.log(res);

    (2)、随机数

    //Math.round);只能产生[0-1)之间的随机数
    for(var i=0; i<1000; i++) {
        document.write(Math.random());
        document.write("<br>");
    }

    (3)、取整

    var x = 123.00001;

    //向下取整,取整数部分
    var m = Math.floor(x);
    //123
    console.log(m);
    //向上取整,取整数部分+1
    var k = Math.ceil(x);
    //124
    console.log(k);

    (4)、四舍五入

    var y = 9.49;
    var r = Math.round(y);
    //9
    console.log(r);

    (5)、π值

    var p = Math.PI;
    //3.141592653589793
    console.log(p);

    (6)、指数

    //Math.pow("底数", "指数");
    var a=Math.pow(2,3); 
    //8
    console.log(a);      

    练习10-1:输出一个[1~10)的随机数

    //随机数只能取到[0~1)
    var b = Math.floor(Math.random()*9) +1;

    练习10-2:输出[20~50]的随机数

    //这里正常取值 可以到30 
    var
    c = 20 + Math.round(Math.random()*30);

    练习10-3:输出(30~45]的随机数

    //这里向下取整  最大取到14
    var
    d = Math.floor(Math.random()*15)+31;

    练习10-4:输出(7~22)的随机数

    //这里向下取整 就取不到14  所以和不会超过22
    var f = 8 + Math.floor(Math.random()*14);

    练习10-5:求100~1000以内的“水仙花数”

    水仙花数:每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

    for(var i=100; i<1000; i++) {
    //取个位数
        var g = i%10;
    //取十位数  
        var s = Math.floor(i/10)%10; 
    //取百位
        var b = Math.floor(i/100);
    //得到每一位的3次方的和
        var res = Math.pow(g,3) + Math.pow(s, 3) + Math.pow(b, 3);
        if(i==res) {
            document.write(i);
            document.write("<br>");
        }
    } 
    //153 370 371 407

    练习10-5:求100~10000以内的“回文数”

    回文数:若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,1234321

    //方法一
    //
    分析: 1、取各个位置上的数字 //2、判断数字的大小, 以1000为分隔 for (var i=100; i<10000; i++) { var g=0; s=0; b=0; q=0; g = i%10; s = parseInt(i/10)%10; //小于100时 if(i<1000) { //取百位 b = parseInt(i/100); if(g==b) { document.write(i); document.write("<br>"); } }else { //取百位 b = parseInt(i/100)%10; //取千位 q = parseInt(i/1000); //这里条件判断 个位等于千位 十位等于百位 if(g==q && s==b) { document.write(i); document.write("<br>"); } } }
    //方法二
    for
    (var i=100; i<10000; i++) { //将过得的数字转换成字符串 var str = i.toString(); //匹配所有为数字的放入数组中 var arr = str.match(/d/g); //根据对称原则 索引指定位置值相同 if(i<1000 && arr[0]==arr[2]) { document.write(i); document.write("<br>"); } else if(arr[0]==arr[3] && arr[1]==arr[2]) { document.write(i); document.write("<br>"); } }

    11、自定义对象

    自定义对象

    var obj = {
        task: "取经",
        td: ["空空", "八戒", "静静"],
        func:'function() {alert("唵、嘛、呢、叭、哞、吽");}',
        height: 21,
        idol: {name: "如来"}
    };

    添加属性和值

    obj.name = "唐僧";

    获取对象的值

    //取经
    console.log(obj.task);
    //空空,八戒,静静
    console.info(obj.td.toString());

    获取对象中所有的属性

    for(var item in obj){        
        document.write(item);    
        document.write("<br>");  
    }  
    //task td func height idol name                          

    获取对象中所有的值

    for(var item in obj) {
        document.write(obj[item]);
        document.write("<br>");
    }
    //取经 空空,八戒,静静 function(){ alert("唵、嘛、呢、叭、哞、吽");} 21 [object Object] 唐僧

    数据格式:json

    严格的json:{"key":"value", "key1", "value1"}

    //Object转换成json对象
    var str = JSON.stringify(obj);
    var json_obj = JSON.parse(str);
    document.write(str);

  • 相关阅读:
    SP3946 MKTHNUM
    P1948 [USACO08JAN]电话线Telephone Lines(二分答案+最短路)
    CF375D Tree and Queries(dsu on tree)
    P2051 [AHOI2009]中国象棋(动态规划)
    P3810 【模板】三维偏序(陌上花开)(cdq分治)
    P4390 [BOI2007]Mokia 摩基亚(cdq分治)
    P2163 [SHOI2007]园丁的烦恼(cdq分治)
    UVA11270 Tiling Dominoes(轮廓线动态规划)
    P2475 [SCOI2008]斜堆(递归模拟)
    P2617 Dynamic Rankings(带修主席树)
  • 原文地址:https://www.cnblogs.com/HelloM/p/13512209.html
Copyright © 2011-2022 走看看