不用break continue; 输出10次
var i = 1;for(;i;){console.log(i);i++;if(i==11){i = 0;}}
// 从0开始加 直至小于等于一百时 i的数
var sum = 0;for(var i = 0;i<100;i++){sum +=i;if(sum>=100){break;}console.log(i,sum); //13 91}
输出 0-100
//()只写一句<br /> // {} 不能写++ --
var i = 101;
for(;i--;){
console.log(i);
}
输出10的N次方
var n = 5,num=1; //n:次方 num:要求的数的初始值
for(var i =0;i<n;i++){
num*=10;
}
console.log(num);
输出N的阶乘
var n =5,num=1;
for(var i =1;i<=n;i++){
num*=i;
}
console.log(num);
倒序输出三位数
var num = 789,a,b,c,newnum;
a = num%10;
b = parseInt(num/10)%10;
c = parseInt(num/100);
newnum = a*100+b*10+c;
console.log(newnum); // 789
拓展输入任意位数 倒序输出
ps:当数据的类型为String型时
var newVal = '';
var num = prompt("输入需要倒序的数","");
var arr = num.split("");
for(var i=arr.length-1;i>=0;i--){
// console.log(arr[i]);
newVal = newVal +arr[i];
}
console.log(parseInt(newVal));
console.log(Number(newVal));
ps:当数据为number型时
var newVal = '';
var num = 123;
// num = num + "";
num = String(num);
//num = num.toString();
var arr = num.split("");
console.log(arr);
for(var i=arr.length-1;i>=0;i--){
// console.log(arr[i]);
newVal = newVal +arr[i];
}
console.log(parseInt(newVal));
console.log(Number(newVal));
总结
1.split方法用于把一个字符串分割成数组 故 3-5行 需先将数据的类型转换成String型
2.数值转字符的三种方法
a. value + “”; 隐式类型转换
b. String(value);
c.value.toString() 此方法当需转换的数据值为undefined null 会报错
待探究
3.parseInt 与 Number 的区别
待探究
输出三个数中最大的数
方法1:
var a=1,b=2,c=3;
if(a>b){
if(a>c){
console.log(a);
}else{
console.log(c);
}
}else{
if(b>c){
console.log(b);
}else{
console.log(c);
}
}
方法二:显示便于理解
var num1=1,num2=2,num=3;
if (num1 > num2 && num1 > num3) {
console.log(num1);
} else if (num2 > num1 && num2 > num3) {
console.log(num2);
} else {
console.log(num3);
}
输出1-100以内的质数
方法1:
var total = 0; //计算器
for(var i =2;i<100;i++){
for(var j =1;j<=i;j++){
if(i%j==0){
total++; //若能被1到它本身的任意一个整除 计数器累加1
}
}
if(c==2){ //等于2的情况为 只能被1跟它自身整除的情况 质数
console.log(i);
}
total=0; //下一次循环前 计数器重置为0
}
方法2:
for(var i = 2; i<100;i++){
var falg = true; //每次循环开始默认是质数
for(var j = 2;j<i;j++){ //循坏开始去除1和它本身
if(i%j==0){
falg = false; //若能被整除 则不是质数
break;
}
}
if(falg){
console.log(i);
}
}
显示类型转换/隐式类型转换
显示类型转换
var a = null;
console.log(Number(a)); // 0
var b = undefined;
console.log(Number(b)); // NaN
var c = 'a';
console.log(Number(c)); // NaN
parseInt(true)// NaN
parseInt(null)// NaN
parseInt(undefind)// NaN
四舍五入
var num = parseFloat('3.1415926');
console.log(num.toFixed(3));
布尔值为0的数
Boolean(null);
Boolean(undefined);
Boolean(NaN);
Boolean("");
Boolean(false);
Boolean(0);
可以改进的地方01:43:00的16进制的地方 可以讲讲位权展开与进制转换的换算方法
隐示类型转换
算术运算乘除减 * / - % 都会隐式的String - > Number; (字符转数字类型)
undefined null 既不大于0 也不小于0 也不等于0
isNaN
作业
循环方法
var a=1,b=1,c=1,n=7; c不能省略初始化为1 因为如果为 第1 第2为都是1
for(var i=3;i<=n;i++){
c=a+b;
a=b;
b=c;
}
console.log(c); //输出第n项
递归方法
var n=7;
function fn(n){
if(n==1||n==2){
return 1;
}else{
return fn(n-1)+fn(n-2);
}
}
console.log(fn(n));
