<!DOCTYPE html>
<html lang="en,zh">
<head>
<meta charset="utf-8">
<title>js-lesson-2</title>
</head>
<body>
<script type="text/javascript">
// 1. if语句
// var score = parseInt(window.prompt('input'));
// //接收用户输入的数据,input可以任意命名。
// if(score>90 && score<100){
// document.write('alibaba');
// }
// else if(score>80 && score<=90){
// document.write('tencent');
// }
// else if(score>70 && score<=80){
// document.write('baidu')
// }
// else if(score<=70){
// document.write('oh my god')
// }
// else{
// document.write('error');
// }
//条件和条件之间有交叉点不可以使用 else if
// 2. for循环
// var count = 0;
// for(var i=0;i<10;i++){
// // document.write("#");
// // count += i;
// // document.write(count);
// if((i % 3 == 0) || (i % 5 == 0) || (i % 7 == 0)){
// document.write(i+'<br>');
// }
// }
// 先执行一遍(1)
// 判断(2)执行语句
// 执行3
// 循环上述步骤
// 1. var i=0
// 2. if(i<10){
// document.write("#");
// }
// 3. i++
// 3. for循环的前后两个条件不写就是while循环
// var i=0;
// for(;i<10;){
// document.write(i);
// i++
// }
// var i=0;
// while (i<10){
// document.write(i+"<br>");
// i++
// }
// while(1) never-ending loop 死循环
// var i=0;
// while(i<100){
// if (i%7==0 || i%10==7 || parseInt(i/10)==7) {
// document.write(i+' ')
// }
// i++;
// }
// 4. do while循环至少执行一次
// do{
// }while()
// 1. 接收用户数据,输出2的n次方
// var n = parseInt(window.prompt('input'))
// document.write(2**n)
// 2. 计算n的阶乘,n可以输入
// var n = parseInt(window.prompt('input'))
// var mul = 1;
// for(var i = 1; i <= n; i++){
// mul*=i;
// }
// document.write(mul);
// 3. 输出斐波那契数列的第n项
// 1 1 2 3 5 8
// var n = parseInt(window.prompt('input'))
// var first=1,
// second=1,
// third=1;
// for(var i=0;i<n-2;i++){
// third=first+second
// first=second;
// second=third;
// }
// document.write(third);
// 4. 反向输出一个三位数
// var x = parseInt(window.prompt('input'));
// var b = (x%100)%10
// var s = parseInt((x%100)/10)
// var g = parseInt(x/100)
// document.write(b,s,g)
// 输出100以内的所有质数
// var count=0;
// for(var i=2;i<=100;i++){
// for(var j=1;j<=Math.sqrt(i);j++){
// if(i%j==0){
// count++;
// }
// }
// if(count==1){
// document.write(i+' ');
// }
// count=0
// }
// 1. switch case的用法
// switch (true){
// case "1":
// console.log('a')
// break;
// case 2:
// console.log('b')
// break;
// case true:
// console.log('c')
// break;
// }
// switch('sunday'){
// case 'monday':
// case 'tuesday':
// case 'wendsday':
// case 'thursday':
// case 'friday':
// console.log("working");
// break;
// case 'satarday':
// case 'sunday':
// console.log("relaxing");
// break;
// }
// 2. break 终止循环。必须在循环之内
// 3. continue会终止本次循环,但是会执行下一次循环
// 4. object对象
// var obj={
// // key value
// name:'sb',
// age:12,
// }
// console.log(obj.name);
// obj.name='zz';
// console.log(obj);
// 编程形式的区别
// 1. 面向过程 2.面向对象
// typeof()区分数据的类型
// number,string,boolean,object,undefined,function
// null的数据类型是object
// var a = null
// console.log(typeof(a));
// 显示类型转换
//1. Number.括号内的内容转换成数字
// var num = Number(true);
// var Num = Number('123');
// console.log(typeof(num),num);
// console.log(typeof(Num),Num);
// 2. parseInt. a. 转换成整数,直接去掉小数部分 b. 以目标进制(2-36)为基底,转换成十进制
// 从数字类一直看到非数字类截止
// var num = '10';
// var Num = parseInt(num,16);
// console.log(Num)
// 3. parseFloat. 将数字转换成浮点类型
// 从数字类开始看,一直看到非数字类截止
// 4. String. 转换成字符串
// 5. boolean. 转换成布尔类型
// 6. toString. 不适用于null和undefined
// var demo = 123;
// var num = demo.toString();
// console.log(typeof(num),num);
// var demo = 10;
// var num = demo.toString(8); //将demo的值(十进制)转换成八进制。将数据转换成任意进制的值
// console.log(typeof(num),num);
// 7. toFixed() 保留几位有效数字,并且进行四舍五入
// 将二进制的值转换成十六进制。先转换成十进制,再转换成十六进制
// var a = 10101010;
// var num1 = parseInt(a,2);
// var num2 = num1.toString(16);
// console.log(num2);
// 隐式类型转换
// 1. 判断一个数据是否是NaN类型.对应Number
// console.log(isNaN(null));
// 不发生类型转换的绝对等于和绝对不等于
// 完全一样,大小相同,类型相同
console.log(typeof(typeof(a))); //sting
console.log(typeof("undefined"));
</script>
</body>
</html>