ECMA
作者:互联网
保留小数位
Number.prototype.toFixed=function (d) {
var s=this+"";
if(!d)d=0;
if(s.indexOf(".")==-1)s+=".";
s+=new Array(d+1).join("0");
if(new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+(d+1)+"})?)\\d*$").test(s)){
var s="0"+RegExp.$2,pm=RegExp.$1,a=RegExp.$3.length,b=true;
if(a==d+2){
a=s.match(/\d/g);
if(parseInt(a[a.length-1])>4){
for(var i=a.length-2;i>=0;i--){
a[i]=parseInt(a[i])+1;
if(a[i]==10){
a[i]=0;
b=i!=1;
}else break;
}
}
s=a.join("").replace(new RegExp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2");
}if(b)s=s.substr(1);
return (pm+s).replace(/\.$/,"");
}return this+"";
};
let a = 0.99456;
console.log(a.toFixed(3));
自增自减
<script>
// 思考题:
// var a = 1;
// var b = ++a + ++a; //2 + 3
// console.log(b); // 5
// var a = 1;
// var b = a++ + ++a; //1 + 3
// console.log(b); //4
// var a = 1;
// var b = a++ + a++; //1 + 2
// console.log(b); // 3
var a = 1;
var b = ++a + a++; //2 + 2
console.log(b); // 4
// 这个题目有技术含量的,自己下来练习
</script>
逻辑运算符
<script>
// 练习1:
var result = (4 >= 6 || '人' != '阿凡达' && !(12 * 2 == 144) && true);
// false || true && true && true
console.log(result);//true
// 练习2:
var num = 10;
var result2 = (5 == num / 2 && (2 + 2 * num).toString() === '22');
// true && true
console.log(result2);//true
</script>
闰年判断
var year = parseInt(prompt('请输入年份'));
ifyear % 4 == 0 && year % 100 != 0 || year % 100 == 0 && year % 400 == 0) {
alert('是闰年');
} else {
alert('是平年');
}
判断这一天是这一年的第几天
输入年月日,判断这一天是这一年的第几天1999/9/9
<script>
function isYear(year) { //判断平年闰年
return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}
function getDay(year, month, day) {
var days = day; //储存对应参数
if(month == 1) { //判断输入月份是1直接返回天数
return days;
}
var arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];//执行到这里,说明用户输入的不是一月份
for(var i = 0; i < month - 1; i++) {
days += arr[i];
}
if(isYear(year) && month > 2) { //是否是闰年,只有超过2月份才加+1
days++;
}
return days;
}
console.log(getDay(2002, 3, 2));
</script>
奇数偶数判断
var a = Number(prompt('请输入一个数字'));
if(a % 2 == 0) {
alert('偶数');
} else {
alert('奇数');
}
//计算1-100之间奇数和偶数的和
//对比%2得偶数 加法这样可以在控制台打印出所有偶数跟奇数的数字
<script>
var even = 2; //偶数变量条件
var odd = 1; //奇数变量条件
var sum_even = 0; //偶数循环体
var sum_odd = 0; //偶数循环体
while(even <= 100) { //偶数循环条件
sum_even += even; //执行循环体
even += 2; //自增
}
while(odd <= 100) { //奇数循环条件
sum_odd += odd; //执行循环体
odd += 2; //自增
}
console.log("1-100之间的奇数和是:" + sum_odd, "1-100之间偶数和是:" + sum_even);
</script>
if判断组合使用
var age = Number(prompt('请输入年龄'));
if(age >= 18 && age < 70) {
alert('可以考取驾照');
} else {
alert('年龄不符合要求');
}
判断成绩
if-else多条件分支
var score = Number(prompt('请输入成绩'));
if(score >= 90) {
alert('S级');
} else if(score > 80 && score < 90) {
alert('A级');
} else if(score > 70 && score < 80) {
alert('B级');
} else if(score > 60 && score < 70) {
alert('C级');
} else {
alert("不及格");
}
BMI身体指数
BMI指数是用体重 除以 身高的平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的标准
BIM值 | 分档 |
---|---|
低于18.5 | 过瘦 |
18.5~24 | 正常 |
24~28 | 过胖 |
28~32 | 肥胖 |
>=32 | 非常肥胖 |
<script>
let weight = Number(prompt('请输入你的体重,以公斤为单位'));
let height = Number(prompt('请输入你的身高,以米为单位'));
//计算BMI身体指数 pow开方根
let bmi = weight / Math.pow(height, 2);
alert('您的BMI指数是' + bmi);
</script>
水仙花
水仙花数的个位、十位、百位的数字立方和等于原数
数字计算法
for(var i = 100; i < 1000; i++) {
hundred = parseInt(i / 100);
ten = parseInt(i / 10) % 10;
individual = i % 10;
if(hundred * hundred * hundred + ten * ten * ten + individual * individual * individual == i) {
console.log(i);
}
}
字符串计算法
<script>
for(let i = 100; i <= 1000; i++) {
var iStr = i.toString();
let a = iStr.charAt(0);
let b = iStr.charAt(1);
let c = iStr.charAt(2);
if(Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i) {
console.log(i);
}
}
</script>
游乐场门票
年龄大于等于10岁 | 年龄小于十岁 | |
---|---|---|
平日 | 300 | 140 |
周末 | 500 | 210 |
<script>
let age = parseInt(prompt('请输入年龄'));
let days = String(prompt('请输入星期几'));
if(days.charAt(2) == '六' || days.charAt(2) == '天' || days.charAt(2) == '日') {
if(age >= 10) {
alert('门票价格为500元');
} else {
alert('门票价格为210元');
}
} else if(days.charAt(2) == '一' || days.charAt(2) == '二' || days.charAt(2) == '三' || days.charAt(2) == '四' || days.charAt(2) == '五') {
if(age >= 10) {
alert('门票价格为300元');
} else {
alert('门票价格为140元');
}
}
</script>
根据用户输入的月份显示对应的天数
(二月忽略平年闰年,直接默认28天)
var month = Number(prompt('请输入月份:'));
switch(month) {
case 1: 复合写法,最后写执行代码块
case 3: 对应数值
case 5:
case 7:
case 8:
case 10:
case 12:
alert(month + '月有31天');
break;
case 2:
alert(month + '月有28天');
break;
case 4:
case 6:
case 9:
case 11:
alert(month + '月有30天');
break;
default:
alert("你484撒?");
}
寻找100以内能被3整除,也能被5整除的数
<script>
for(let i = 1; i < 100; i++) {
if(i % 3 == 0 && i % 5 == 0) {
console.log(i);
}
}
</script>
输入一个数字,得到这个数字的全部约数
<script>
let n = Number(prompt('请输入数字'));
for(let i = 1; i <= n; i++) {
if(n % i == 0) {
console.log(i);
}
}
</script>
计算1-100之间所有整数的和
var i = 1;
var sum = 0;
while(i <= 100){
sum += i;//sum = i + sum;是一个意思,看赋值运算符的复合写法
i++;
}
console.log(sum);//5050
for(var i = 1, sum = 0; i <= 100; i++) {
sum += i;
}
console.log(sum);
计算1-100之间数字,除3余1,除4余2,除5余3
for(var i = 1; i <= 100; i++) {
if(i % 3 == 1 && i % 4 == 2 && i % 5 == 3) {
console.log(i);//58
}
}
计算1-100之间奇数和偶数的和
//判断奇数偶数
function fn(sum) {
if(sum % 2 == 0) {
return "是偶数";
}
return "是奇数";
}
var flag = fn(21);
console.log(flag);
//对比%2得偶数 加法这样可以在控制台打印出所有偶数跟奇数的数字
<script>
var even = 2; //偶数变量条件
var odd = 1; //奇数变量条件
var sum_even = 0; //偶数循环体
var sum_odd = 0; //偶数循环体
while(even <= 100) { //偶数循环条件
sum_even += even; //执行循环体
even += 2; //自增
}
while(odd <= 100) { //奇数循环条件
sum_odd += odd; //执行循环体
odd += 2; //自增
}
console.log("1-100之间的奇数和是:" + sum_odd, "1-100之间偶数和是:" + sum_even);
</script>
<script>
var sum1 = 0, sum2 = 0;
for(var i = 1; i <= 100; i++) {
if(i % 2 ==0) {
sum1 += i;
} else {
sum2 += i;
}
}
console.log('1-100之间奇数和是:' + sum2, '1-100之间偶数和是:' + sum1);
</script>
求200-300之间所有奇数的和
var i = 200;
var sum = 0;
while(i <= 300) {
if(i % 2 ==0) { //反向思维,把偶数跳过
i++; //奇数循环相加就是
continue;
}
sum += i;
i++;
}
console.log(sum);//12500
100-200得累加值,跳过所有个位数3的数
var i = 100;
var sum = 0;
while(i <= 200) {
if(i % 10 == 3) {
i++;
continue;
}
sum += i;
i++;
}
console.log(sum);//13670
计算1-100能被3整除的数的和
<script>
var sum = 0;
for(var i = 0; i <= 100; i++) {
if(i % 3 == 0) {
sum += i;
}
}
console.log(sum);
</script>
阶乘
计算6的阶乘(1X2X3X4X5X6)
<script>
var mul = 1;
var pro = 1;
while(mul <= 6) {
pro = pro * mul;
mul++;
}
console.log(pro);
</script>
<script>
let n = prompt('请输入数字');
let sum = 1;
for(let i = 1; i <= n; i++) {
sum *= i;
}
alert(sum);
</script>
累加器累乘器 圆周率π
π/2 = 1 + 1/3 + 1x2/3x5 + 1x2x3/3x5x7 + 1x2x3x4/3x5x7x9 + ... + 1x2x...xR/3x5x/...(2R+1) 莱布尼茨数公式
<script>
let sum = 0;
let item = 1;
let n = Number(prompt('请输入要计算的数值'));
for(let i = 1; i <= n; i++) {
item *= i / (2 * i + 1);
sum += item;
}
alert((1 + sum) * 2);
</script>
累加器除法
3/2 + 4/3 + 5/4 + ... + n+1/n 计算n算数的值
<script>
let n = Number(prompt('请输入数字n'));
let sum = 0;
for(let i = 2; i <= n; i++) {
sum += (i + 1) / i;
}
alert(sum.toFixed(2));
</script>
求100以内7的倍数
<script>
var i = 1;
while(i <= 100) {
if(i % 7 == 0) {
console.log(i);
}
i++;
}
</script>
星星矩阵
1.7X5的星星矩阵
<script>
for(j = 1; j <= 5; j++) { //五次外循环
for(var i = 1; i <= 7; i++) { //七次内循环
document.write('☆'); //这个不要用,只在学习中演示。重构网页界面,在网页中显示内容,可以输入文字跟html标签
}
document.write('<br/>'); //内循环换行
}
</script>
等腰直角三角形矩阵
<script>
for(j = 1; j <= 9; j++) {
for(var i = 1; i <= j; i++){
document.write('☆'); //循环的内容
}
document.write("</br>"); //换行
}
</script>
乘法表
<script>
document.write('<table cellspacing="9">'); //内嵌表格 cellspacing=9 表格间距
for(j = 1; j <= 9; j++) { //第一个循环
document.write('<tr>'); //表格行
for(var i = 1; i <= j; i++){ //第二个循环
document.write('<td>' + i + '×' + j + '=' + i*j + '</td>');
} //表格列跟列表的内容
document.write("</tr>");
}
document.write('</table>');
</script>
寻找n * n > 456789的最小正整数
let n = 1;
while(n * n <= 456789) {
n++;
}
console.log(n);
斐波那契数列求天数
第一天1个,第二天2个,第三天3个,以此类推。多少天才能大于500??
<script>
let n = 1;
let sum = 0;
while(sum < 500) {
sum += n;
console.log(n);
console.log(sum);
n++;
}
console.log(n - 1);
</script>
随机得到[a,b]区间的随机数,不能为0
[-4,4]
<script>
do {
var dx = parseInt(Math.random() * 9) - 4;
var dy = parseInt(Math.random() * 9) - 4;
} while(dx == 0 && dy == 0);
console.log(dx, dy);
</script>
猜字谜
<script>
// 随机生成2-99的数字,让用户猜数字是几
let answer = parseInt(Math.random() * 98) + 2;
let min = 1;
let max = 100;
while(true) {
let n = Number(prompt('请输入数字' + min + "~" + max));
if(n <= min || n >= max) {
alert('你输入的数字不再范围内');
continue;
}
if(n > answer) {
alert('你输入的数字太大了');
max = n;
} else if(n < answer) {
alert('你输入的数字太小了');
min = n;
} else {
alert('猜对了');
break;
}
}
</script>
质数
能被1和它本身整除的数字
<script>
cherry: for(let i = 2; i <= 100; i++) {
for(let j = 2; j < i; j++) {
if(i % j == 0) {
continue cherry;
}
}
console.log(i);
}
</script>
雉兔同笼
<script>
for(let i = 0; i <= 35; i++) {
for(let j = 0; j <= 35; j++) {
if(i + j == 35 && i * 2 + j * 4 == 94) {
console.log('小鸡有' + i + '只,兔子有' + j + '只');
}
}
}
//两种方法
for(let i = 0; i < 35; i++) {
let j = 35 - i;
if(i * 2 + j * 4 == 94) {
console.log('小鸡有' + i + '只,兔子有' + j + '只');
}
}
</script>
标签:console,sum,alert,let,&&,var,ECMA 来源: https://www.cnblogs.com/kong777/p/16127722.html