JavaScript基础知识

79 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 13 天,点击查看活动详情

前言:

对应所有语言,我们都可以从下面五个方面来描述它,分别是:变量,数据类型,运算符,流程控制,函数。

下面我们也从这五个方面来了解js

变量

什么是变量?当年打开百度会发现答案很多

image.png

这些看上去好像都有道理,但是在计算机里面,变量=存储单元

我们可以这样想,当声明变量:var x=1 那么x就代表1,存储在计算机里面。

变量声明:var 变量名称=值; var 变量名称;

程序的作用就是:接收输入数据并进行存储、处理相关数据、返回处理结果。

那么变量的作用就是:存储数据

变量命名规则:

  1. js区分大小写
  2. 变量由 字母数字下划线组成,不能数字开头
  3. 见名知义
  4. 多个单词变量:1.大驼峰(每个首字母大写) 2.小驼峰(第一个小写,后面大写) 3.下划线(单词之间下划线连接)

注释: //单行。/* */多行

输出:document.write(); alert console.log()

数据类型

什么是数据类型?

image.png

数据类型就**是一种代表变量占单元数量符号 **

为什么会有数据类型??因为计算机存储单元有限,为了合理为变量分配空间(存储单元)

JavaScript数据类型分类:

基本型

  1. 数字型 numbetr int float double
  2. 字符串型:String
  3. 布尔型:boolean

复合型 数组和对象

数组:(数据类型可以不一样) 声明:

声明:
   var arr=new Array()
   var arr2=new Array(size)
   var arr3=new Array(element1,element2,element3.....)
   
   var arr4=[];
   var arr5=[data1,data2....]
   
   arr.length:数组长度(标识数组占空间个数)

对象:

 {key:value,key2:value2,key3:value3.....}
   
   var student{
     name:"zs",
     age:20
     }

数组的遍历

  • for循环
  • map:返回一个新数组,原数组不变,遍历数组每一项值,有三个参数item, index, arr
  • forEach:无返回值,若返回则值为undefined,原数组不变,遍历数组每一项值,有三个参数item, index, arr
  • every:返回值是一个布尔值。只有所有元素都具备某项特性后,才会返回true。只要有一项不满足就返回false。
  • some:返回值是一个布尔值true。只要有一个满足,循环就会结束,接下来的数据就不会继续判断
  • filter:过滤数组筛选出符合条件的值,条件为true时的结果。

其他类型

  1. underfined:声明了变量没有初始化
  2. null:声明变量赋值为null,变量的数据类型是null

怎么获取数据类型?typeof()

数据类型之间转换:

  var num="1234.1235hello" string
  parseInt(num)-> 1234 number
  parseFloat(num)-> 1234.1235

运算符:

  1. 算数运算符 + - * / % ++ --
  2. 关系运算符 > < >= <= === !== !=
  3. 逻辑运算符

与或非

与&&(同真为真) 短路运算(表达式1为假不再计算表达式2)

或||(有真为真)短路运算(表达式1为真,不计算表达式2)

非!

举例:

           var num=100;
           var num2=false&&++num
           num=? 100
           num2=? false
           
           var num=100;
           var num2=false||++num
           num=? 101
           num2=? true
           
           !1=false
           !0=true
  1. 赋值运算符 = += *= /= -= %=
      var num=100;
      var num2=num;
         写=读
         先读再写
  1. 字符运算符+
    var s=hello;
    var s2=world;
    var s3=s+s2;
      s3="helloword"

字符模板 image.png

image.png

  1. 三目运算符 表达式1?表达式2:表达shi3
什么叫表达式: 能够运算出结果的式子
true?false:true      false  
0?true:false         false
00.00” NaN “”===》false

流程控制

概念:程序执行先后顺序就是流程控制

  • 顺序控制,默认的。没有声明关键字,先出现下先运行
  • 选择控制:满足条件执行,不满足不执行
  • 循环控制:满足条件重复执行
  • 顺序控制是全局的,选择控制和循环控制是局部的

选择控制 就是if语句,包括单if,if-else,多if

单if
      if(条件表达式){
      语句们
      }
双选择语句if-else
      if(条件表达式){
      语句1
      }else{
      语句2
      }
多选择
      if(条件1){
      语句1
      }else if(条件2){
      语句2
      }else if(条件3){
      语句3
      }
      ....
      else{
      语句n
      } 
      
      多选择使用最好转换成单if。因为if太长,逻辑不容易理清
         if(条件1){语句1} 
         if(条件2&&!条件1){语句2}
         if(条件3&&!条件1&&!条件2){语句3}
         ....
         if(!条件1&&!条件2&&!条件3){语句n} 

多分支语句switch。

       switch(表达式){
       case1:
          语句1breakcase2:
          语句2break;
       defalut:
          表达式n
            }

如果没有break会穿透 case叫switch入口,找到一个case后,其他case失效,从而实现穿透效果

循环控制 分三个循环,for,while,do-while

for(初始表达式1;条件表达式2;增量表达式3){ 语句4; } 执行顺序:1 2 4 3 2 4 3 2 4 3.....

实例: 打印倒三角

image.png

image.png