JavaScript 的发展历史
由于不是重点,暂且在这里简述一部分内容:
发明者: 布兰登 艾奇
原名 :liveScript
用于增强用户体验,使网页能够动态的显示,是现在唯一能在网页上运行的脚本语言
JavaScript的组成
ECMAScript 5.0:定义了js的语法标准: 包含变量 、表达式、运算符、函数、if语句 for循环 while循环、内置的函数
DOM :操作网页上元素的API。比如让盒子显示隐藏、变色、动画 form表单验证
BOM:操作浏览器部分功能的API。比如刷新页面、前进后退、让浏览器自动滚动
JavaScript的引入方式
内接式:在html中编写JavaScript
<script type="text/javascript"> </script>
外接式:写在自己的文件中,连接到html文件里面去执行
<!--相当于引入了某个模块--> <script type="text/javascript" src = './index.js'></script>
两种常用的测试方式
console.log 控制台输出(相当于打印)
alert 弹出警告框(在网页刷新时弹出一个框)
变量的声明
<script> var a = 100; //也可以写成var a; a=100; alert(a) // 打印出来的数字与字符颜色不同 var b ='100'; console.log(a) console.log(b) console.log(c)//不存在的变量打印出来是 not defined 变量要先定义,才能使用。 </script>
- 定义变量:var就是一个关键字,用来定义变量。所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。
- 变量的赋值:等号表示赋值,将等号右边的值,赋给左边的变量。
- 变量名:我们可以给变量任意的取名字。
变量的命名规范
变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。(类似不能用以有的功能字符)
基本的数据类型
/* JavaScript的数据类型 1.number 2.string 3.boolean 布尔值 4.null 5.undefined 与python不一样的地方 */ // var a = 100; // console.log(typeof a)//查看数据类型的方式 typeof var a = 5/0; console.log(a); //Infinity 无限大 console.log(typeof a); var b = 5+'';//将数字转化成字符串的小技巧 +的使用 console.log(typeof b); var c='';//空是属于字符串类型的 console.log(typeof c); // 3.boolean var isShow = 1>1; console.log(typeof isShow); // 4.null 空对象 var d = null; //空对象 object console.log(typeof d); // 5.undefined 未定义的 var d1; console.log(d1); //值 是undefined console.log(typeof d1); //undefined 数据类型
attention:
null也是一种数据类型
在控制台输出的内容颜色比数据类型要浅
运算符
赋值运算符
以var x = 12,y=5来演示示例
算数运算符
var a = 5,b=2;
比较运算符
var x = 5;
数据类型的转换
// 将number类型转换成string类型 // 隐式转换 // var a = 123; // var b ='123'; // var c = a+b; // console.log( typeof c); // // //强制转换 // var str1 = String(a); // console.log(typeof str1) // // //或者 // var d = 1117; // var x =d.toString(x) // console.log(typeof x) //将数字转换成字符串 var a = '1111'; var num = Number(a); console.log(num); console.log(typeof num); var b = '77.71d1s1a1'; var num1 = Number(b); console.log(num1);//NaN not a number 也是一个number console.log(typeof num1); //parseInt解析字符串,返回整型 parseFloat 返回浮点型 console.log(parseInt(b)); console.log(parseFloat(b));
任何的数据类型都可以转换为boolean类型
var b1 = '123'; //true
var b2 = 0; //false
var b3 = -123 //true
var b4 = Infinity; //true
var b5 = NaN; //false
var b6; //false
var b7 = null; //false
//使用Boolean(变量) 来查看当前变量的真假
流程控制
if
var age = 20; if(age>18){ //{}相当于作用域 console.log('可以去会所'); } alert('alex'); //下面的代码照样执行
if-else
var age = 20; if(age>18){ //{}相当于作用域 console.log('可以去会所'); }else{ console.log('好好学js,年纪够了再去会所'); } alert('alex'); //下面的代码照样执行
if-else if -else
var age = 18; if(age==18){ //{}相当于作用域 console.log('可以去会所'); }else if(age==30){ console.log('该娶媳妇了!!'); }else{ console.log('随便你了') } alert('alex'); //下面的代码照样执行
逻辑与&&、 逻辑或||
//1.模拟 如果总分 >400 并且数学成绩 >89分 被清华大学录入 //逻辑与&& 两个条件都成立的时候 才成立 if(sum>400 && math>90){ console.log('清华大学录入成功') }else{ alert('高考失利') }
//2.模拟 如果总分>400 或者你英语大于85 被复旦大学录入 //逻辑或 只有有一个条件成立的时候 才成立 if(sum>500 || english>85){ alert('被复旦大学录入') }else{ alert('高考又失利了') }
switch 语句
var gameScore = 'better'; switch(gameScore){ //case表示一个条件 满足这个条件就会走进来 遇到break跳出。break终止循环。如果某个条件中不写 break,那么直到该程序遇到下一个break停止 case 'good': console.log('玩的很好') //break表示退出 break; case 'better': console.log('玩的老牛逼了') break; case 'best': console.log('恭喜你 吃鸡成功') break; default: console.log('很遗憾') } //注意:switch相当于if语句 但是玩switch的小心case穿透
循环
我们要遵循三个要点:
- 初始化循环变量
- 判断循环条件
- 更新循环变量
while循环
//打印0-100(不等于)的偶数 var i = 1; //初始化循环变量 while (i<100){ if(i%2 == 0){ console.log(i) } i ++; } ;
do-while循环
//不管有没有满足while中的条件do里面的代码都会走一次 var i = 3;//初始化循环变量 do{ console.log(i) i++;//更新循环条件 }while (i<10) //判断循环条件
for循环
//用for打印1-100,以及求和 var sum = 0; for (i = 0;i <= 100;i ++){ console.log(i); sum = sum + i; } ; console.log(sum)
打印等腰三角形
for(var i=1;i<=6;i++){ //控制行数,一共显示6行 记得换行document.write('<br>'); //控制我们的空格数 for(var s=i;s<6;s++){ document.write(' '); } //控制每行的输出*数 for(var j=1;j<=2*i-1;j++){ document.write('*'); } document.write('<br>'); }
个人关于while和for循环的理解如下:
} for(i=1;i<=5;i++){ document.write('$') }; document.write('<br>') var s = 1 while (s<=5){ document.write('$') s++; } ;
for循环在括号内的条件放到while中就如上述所示即可,循环条件是一个范围,更是一个类似次数的机制。