前端基础知识(4)

前端基础知识——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 + " ");
	}
}

练习:

  1. 计算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. 费波纳希数列
    注意:费波纳希数列中,前两位的结果都是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);
}
  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 停止本次循环,进行下次循环。

前端知识点——编程形式有哪些?

  1. 面向过程
  2. 面向对象

前端知识点——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(目标进制);将十进制的参数转化成目标进制。

发布了5 篇原创文章 · 获赞 4 · 访问量 542

猜你喜欢

转载自blog.csdn.net/yehaocheng520/article/details/104296254