javascript常用知识点总结

一、常用知识点

1、赋值

var x=10
		y=x
console.log(x) #10
console.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 =0
for (;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,2
for (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")
})()

匿名函数的用法(产生局部空间)

<script>
(function (){
  let num=10
})()
#{
let num=10;#另一种产生局部空间的方法
}
</script>
<script>
  console.log(num) #通过匿名函数产生局部空间,下面就调用不到局部空间里面的变量
 </script>

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);==>alex
console.log(p2.name);==>tom
p1.teach();===>alex
p2.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))
posted @ 2019-06-12 19:18  emos  阅读(329)  评论(0编辑  收藏  举报