一、常用知识点
1、赋值
var x=10 y=xconsole.log(x) #10console.log(y) #10
2、比较运算符
== | ===
console.log("5"==5)#True 只做值比较console.log("5"===5)#False 比较值及类型
!= | !==
console.log("5"!=5)#False 只做值比较console.log("5"!==5)#True 比较值及类型
二、分支语句
1 、if 分支语句
var salary=prompt("请输入所发工资");if (salary>0){ console.log("发工资了,开始还债了"); salary-=10000; if (salary>0){ console.log("我要去美丽的土耳其"); } else if (salary==0){ console.log("我又是大穷逼了"); } else{ console.log("欠债还钱。。。。,还欠%d",-salary); } }else { console.log("我的工资还没有发") }
2、switch语句
格式:
switch (条件表达式(结果为整数或者字符串的表达式)){ case 值1:代码块;break;#break可以省略 case 值2:代码块;break; default:代码块3}
语法:
var num=prompt("请输入一个自然数:") #默认输入的是字符串类型var num=+num #将num从字符创类型转化成整数类型switch (num){ case "0":console.log("用户输入的是0");break; case "1":console.log("用户输入的是1");break; case 1:console.log("用户输入的是整数1");break; default:console.log("用户输入的是非0、1的自然数");}
var month=+prompt("请输入月份:")#%d只能进行整型的插入,+将输入转化成整型switch (month){ case "1":case "3":case "5":case "7":case "8":case "10":case "12":console.log("%d的天数是31天",month);break;#若没有break,会继续向面运行,打印下面的两条信息 case "4":case "6":case "9":case "11":console.log("%d月的天数是30天",month);break; default:console.log("%d的天数是28天",month);}
三、循环结构
1、格式:(所有的for循环都可以转化成while循环)
#while循环while (条件表达式){ 代码块}
#while 循环var count=0;while (count<5){ console.log("hello javascript!!"); count++;}#for循环for (var i=0;i<5;i++){ console.log("hello javascript!!")}#####定义变量及条件变化可以向外提出来,不过分号不能提出来var i =0for (;i<5;)i++{ console.log("hello javascript!!")}
2、break | continue的用法
#结果跳过了i=3的打印for (var i=0;i<5;i++){ if (i==3) continue; console.log("hello javascript!!")}#结果只打印i=0,1,2for (var i=0;i<5;i++){ if (i==3) break; console.log("hello javascript!!")}
3、do while循环(无论条件成不成立,循环体都会执行一次)
var num=0;do{ console.log("javascript"); num++;}while(num<5);
4、for …. in 循环
四、异常处理
try{ 代码块;}catch(条件){ 代码块;}finally{ 代码块;}
五、函数
1、定义:具有特定功能的代码块
2、函数分类
无参函数
function f1(){ console.log()}f1();
有参函数
function f1(a,b){ console.log("两数之和:",a+b)}f1(2,3);
匿名函数
#将函数的运行结果赋值给一个变量var f3=function (){ console.log()}f3()
匿名函数的自调用
(function (){ console.log("ddd")})()
匿名函数的用法(产生局部空间)
3、函数只能返回一个值,若想返回多个值,可以放到一个容器中返回
六、函数的包
#为了使用函数的局部变量function fn1(){ var num=10 function fn2(){ return num } return fn2}var fn1_1=fn1()var num=fn1_1()console.log(num)====>10
七、js面向对象
1、语法结构
var obj={ #属性 name:"alex", #方法 teach:function(){ console.log(); }}#+++++++++++++++#调用name属性console.log(obj.name)#执行函数obj.teach()
2、构造函数
1、概念:构造函数采用大驼峰命名方式
//ES5语法function Person(name){ this.name=name; this.teach:function (){ console.log(this.name) }}#调用函数属性var p1=new Person("alex");var p2=new Person("tom");console.log(p1.name);==>alexconsole.log(p2.name);==>tomp1.teach();===>alexp2.teach();===>tom
2、类
//ES6语法class Student{ //创建构造函数完成对象的声明和初始化 constructor(name){ this.name=name; } teach(){ console.log(this.name) } //类方法 static fn(){ console.log("我是类方法。。。") }}//实例化类的对象let sut1=new Student("alex");//使用类的属性和方法console.log(sut1.name)sut1.teach()//调用类方法Student.fn()
//功能类(工具类)一般都编译为类的方法class Tool{ static max(num1,num2){ return num1>num2?num1:num2; }}console.log(Tool.max(666,888))