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);

原文地址:https://www.cnblogs.com/HelloM/p/13512209.html