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