前端基础知识——prompt()
var score = parseInt(window.prompt('input'));
parseInt();将数值转化成整数;
window.prompt();弹窗输入内容;
window.prompt(‘input’);弹窗输入input的内容;
前端基础知识——for循环
for循环的底层就是while循环。
for(;判断语句;){};
例如:计算100以内的,能够被7整除或者个位数是7的所有数字。
var i = 0;
while( i < 100){
if( i % 7 == 0 || i % 10 == 7 ){
document.write(i + " ");
}
}
练习:
- 计算2的n次幂,n可输入,n为自然数。
var n = parseInt(window.prompt('input'));
var num = 1;
for(var i = 0; i < n; i++){
num *= 2;
}
console.log(num);
一定要注意:return 必须出现在函数中,单纯的写return num;是会报语法错误的。
2. n的阶乘
var n = parseInt(window.prompt('input'));
var num = 1;
for(var i = 0; i < n; i++){
num *= i;
}
console.log(num);
- 费波纳希数列
注意:费波纳希数列中,前两位的结果都是1,从第三位开始,结果是前两位的和。
var n = parseInt(window.prompt('input'));
var first = 1,
second = 1,
third;
if( n > 2){
for(var i = 0; i< n - 2; i++){
third = first + second;
frist = second;
second = third;
}
document.write(third);
}else{
document.write(1);
}
- 求100以内的所有的质数
注意:质数是除了1,只能够被自身整除的数。
var count = 0;
for( var i = 1; i < 100;i++){
//看看每一个i是否是质数
for(var j = 1; j <= i;j++){
if(i % j == 0){
count ++;
}
}
if(count == 2){
document.write(i + '' );
}
count = 0;
}
第二种方法:
var count = 0;
for(var i = 2; i < 100;i++){
//看看每一个i是否是质数
for (var j = 1; j <= Math.sqrt(i); j++){
if(i % j == 0){
count ++;
}
}
if(count == 1){
document.write(i + ' ');
}
count = 0;
}
前端知识点——switch case
var n = 2;
switch(n){
case "a":
console.log('a');
break;
case 2:
console.log('b');
break;
case true:
console.log('c');
break;
}
注意:break只能是放到循环语句中,如果是放到别的地方,就会报错。
continue 停止本次循环,进行下次循环。
前端知识点——编程形式有哪些?
- 面向过程
- 面向对象
前端知识点——typeof的类型
typeof有六种数据类型:
number string boolean undefined object function
数组 对象 null的typeof的结果都是object;
var num = [];
console.log(typeof (num)); //结果是object;
未声明的变量直接调用会报错,提示 is not defined。
如果是使用typeof(未声明的变量),则结果就是不会报错,但是结果会是undefined;
typeof(未声明的变量)结果就是undefined;
而且这个undefined是字符串类型的。
typeof(typeof(未声明的变量)),结果就是 string;
练习:
alert(typeof(a))
//结果就是 string
alert(typeof(undefined))
//结果就是 string
alert(typeof(NaN))
//结果就是 numer
alert(typeof(null))
//结果就是 object
alert(typeof(NaN))
//结果就是number
var a = '123abc';alert(typeof(+a));
//结果就是number
alert(typeof(!!a));
//结果就是 boolean
alert(typeof(a + ''));
//结果就是string
alert(1 == '1');
//结果就是 true;
alert(NaN == NaN);
//结果就是false;
alert(NaN == undefined);
//结果就是false;
alert('11' + 11);
//结果就是 1111;
alert(1 === '1');
//结果就是false;
alert(parseInt('123abc'));
//结果就是123;
var num = 123123.345789;alert(num.toFixed(3));
//结果就是 123123。346;
前端知识点——类型转换
显示类型转换
Number(mix):
parseInt(string,radix);
parseFloat(string);
toString(radix);
String(mix);
Boolean();
null 转换成数字的结果是 0;
true 转换成数字的结果是 1;
false 转换成数字的结果是 0;
undefined 转换成数字的结果是 NaN;
parseInt();将括号内的内容转化成整型;
如果是非数的内容,都会转换成NaN;
例如: true false undefined null 都会转化成NaN;
parseInt(num,radix);
parseInt()有个独特的特点,能够从数字位开始看,直到非数字位截至。
所以parseInt(‘123abc’)的结果是123,且是number类型的123;
toString();将参数转化成字符串。
undefined 和 null 没有 toString() 方法
隐式类型转换
isNaN()
++ – + - (议员正负)
+
-
- / %
- && || !
- < > <= >=
- == !=
举例:
isNaN(NaN) true;
isNaN(‘123’) false;
isNaN(‘abc’) true;
isNaN(null) false
Number(null) = 0;
Number(undefined = NaN);
Number(‘a’) == NaN;
< > = 都会进行隐式类型转化
undefined进行Number(),计算的结果就是:NaN,NaN不等于任何东西,包括它本身。
undefined == null;
NaN != NaN;
前端知识点——parseInt 与 toString
parseInt();是将对应进制的数字转化成十进制;
toString(); 是将十进制的数字转化成对应的进制;
举例:
将2进制的数转化为16进制:
思路就是,先将2进制数转化为十进制数,通过 parseInt();
然后将十进制的数转化为16进制的数,通过toString();
var num = 10101010;
var test = parseInt(num,2);
console.log(test.toString(16));
parseInt(参数,进制基底);将对应基底的数转化成十进制
toString(目标进制);将十进制的参数转化成目标进制。