JavaScript基础语法<一>

95 阅读6分钟

这是我的第一篇掘金博客,开启掘金写作之路^-^

一,js引用

  1. 引入外部js 文件

    <script src="路径"></script>

  2. 内部js文件

    <script>js语句</script>

  3. 行内js语句

    <button onclick="conlose.log('wqqqq')"></button>

二,注释

  • 单行注释 //这是一条单行注释
  • 多行注释
    /*
    这是一条
    多行注释
    */
    

三,标识符

  • 指变量\数组\函数等名字,

  • 不能数字开头

  • 禁止使用ES里面的关键字和保留字

    • 关键字:一组具有特定用途的关键字.例如if,else,this等

    • 保留字:当前版本没有成为关键字,下个版本可能成为关字long,super,shortm,debugger等

  • 望文知意

  • 匈牙利命名法,数据类型对应的前缀,一个活多个小写字母开头

  • 数据类型对应前缀
    Array数组a
    Boolean布尔b
    Float 浮点f
    Functionfn
    Interger(int)整型i
    Object对象o
    Regular Expression正则re
    String字符串s

四,变量

  1. js是一门弱类型语言 动态语言

    • Int a=10 java
    • let a;a=5 变量的数据类型由等号后面的值决定
  2. 变量声明

    • var

      • var声明的变量可以用来保存任何类型的值,声明的范围是函数作用域;

      • 可重复声明

      • 遗漏声明

      • 禁止变量未声明就使用

      • 变量提升

        • 只提升声明不提升值
        • image-20220110154054333.png
        • image-20220110154133118.png
    • let(ES6)

      • let声明的范围是块作用域;
      • let a;声明
      • a=5;赋值
      • let a=5;声明和赋值可以同时进行
      • 一次可以声明多个变量,用逗号隔开
      • 不能让在相同作用域内重复声明
    • const(ES6)

      • const声明变量时必须同时初始化变量,且初始化后值不可再修改。

      • 更改数据值

        • 对于简单值:不可更改
        • 对于复杂值:不改变引用下可以更改
        • 原始数据类型
      • js中的每一个值都必须属于一个数据类型

五,数据类型

  • 基础数据类型(原始数据类型) 简单型

数据类型英文
未定义Undefined函数没有返回值,
Null常被用于释放内存
数字Number
布尔Boolean
字符串String
符号Symbol(ES6)
  • 数字型

    1. 整数

      • let a=1
    2. 浮点数

      • let a=0.2
      • 尽量避免浮点数参与计算
      • console.log(0.2*0.2);//0.04000000000000001
    3. 最大值最小值

      console.log(Number.MAX_VALUE);
      
      //运行结果1.7976931348623157e+308
      
      console.log(Number.MIN_VALUE);
      
      //运行结果5e-324
      
    4. 无穷大

          console.log(Number.MAX_VALUE*2);
      
          //运行结果Infinity
      
    5. NaN(非数)不是数字,但数据类型是数字型

          console.log('zhangsan'-10);
          //NaN
      
      • isNaN()用来判断是否为非数,是返回ture,不是返回false
      • 用typeof查看数据类型
      • console.log(**typeof** NaN);//Number
      • 涉及到NaN的计算都会返回NaN
      • NaN与任何值相等,包括自己
  • 字符串型

    • 接受到的值都是字符串

    • 推荐使用单引号

    • 引号嵌套的时候,单双引号交叉使用

    • console.log('zhangsan"18sui"');//zhangsan"18sui"

    • 引号不支持换行,用 转义符 \n 换行

    • 查看字符串长度 .length

    • 字符串拼接

    • 用加号拼接

    • 字面量:加号后面可以接任意数据类型的值,最后都会被拼接成字符串

    • 字符串模板(ES6新增)

      • 支持多行文本

      • let str4=0糖

        哦哦; //0糖

        哦哦

      • 变量解析

        • **console.log(我是name,我今年{name},我今年{age}岁了);**
  • 布尔型

    • 他的值为true和false

    • 在四则运算中被当成1和0

    • false

      • 空字符串:包含'',"",字符串模板``
      • 0
      • NaN
      • false
      • null
      • undefined
  • undefined

    • 一个变量声明了没有复赋值就是Undefined,但不会将一个变量设置成Undefined的数据类型

    • 返回undefined

      • 访问未赋值的变量
      • 任何被设定成undefined的值的变量
      • 没有定义return表达式的函数,隐式返回undefined
      • return表达式没有显示的返回任何内容
      • 访问不存在的属性
  • 引用数据类型(合成数据类型) 复杂型

  • 数据类型
    对象Object引用数据类型

六,数据类型转换

  1. 隐式转换

    • 系统内部自动发生的转换,一般发生于不同的数据类型进行运算时
    • 不同的数据类型进行比较
    • 不同的数据类型进行运算
    • 对非布尔值求布尔值
  2. 显示转换

  3. 转换成字符串 let num=11;

    1. 把数字类型转换成字符串

      1. 变量 . toString()

        • let str=num.toString();
      2. 强制转换 String()

        • console.log(String(num));
      3. 利用"+"做字符串拼接

        • console.log(num+'aabbcc');
  4. 转换成数字型

    1. parseInt(变量)把字符型转换成数字型,并且得到的是一个整数 let age=18

      • let age1=parseInt(age);
      • 如果第一个字就不是数字,返回NaN
    2. parseFloat(变量)把字符型转换成数字型,并且得到的是一个浮点数

      • let age1=parseFloat(age);
      • 如果是浮点数就转换成浮点数,整数还是整数
    3. 利用Number()转换

          console.log(Number(12345));//12345
          console.log(Number('12345'));//12345
          console.log(Number(123.45));//123.45
          console.log(Number(12.12.3));//NaN
          console.log(Number('123.45abc'));//NaN
          console.log(Number('abc45'));//NaN
      
      • 可以转换为整数,也可以转换为浮点数,取决于被转换的值
      • 一旦解析到无效数字都将返回NaN
      • 布尔值转换成0和1
      • 空字符串和null转换成0
      • 非数和undefined转换成NaN
          console.log(Number(null));//0
          console.log(Number(''));//0
          console.log(Number(true));//1
          console.log(Number('abcd'));//NaN
          console.log(Number(undefined));//NaN
      
  5. 利用算术运算转换

        console.log('11'-0);//11
        console.log('11'*2);//22
        console.log('12'/2);//6
    
    • 不能使用加号,会转换成字符串
  6. 转换为布尔值

    • Boolean()
        console.log(null==undefined);//true
        console.log(null===undefined);//flase
    

七,运算符

  1. 按照操作个数分类

    • 一元运算符 例:typeof
    • 二元运算符 例:* /
    • 三元运算符 例:三目运算
  2. 按用法分类

    1. 四则运算 + - * /

      • 加号除了运算还可以做字符串拼接
      • -*/可以把字符串转换成数字类型
    2. 取余,判断是否能够整除

    3. 自增自减 ++ --

      • ++在前,先自增再运算
      • ++在后,先运算在自增
    4. +=-=*=/=

      =^=*

    5. 关系运算符

      • <= >= == ===(全等于,还要判断数据类型)
      • 返回true和false
    6. 逻辑运算符

      • 与&& 两个都为真才真

        短路运算

        • 如果都是真值就返回最后一个真值
        • 如果有假值,就返回第一个假值
      • 或|| 两个都为假才假

        短路运算

        • 如果都是真值就返回第一个真值
        • 如果有假值时,返回第一个真值
        • 如果都是假值,就返回最后一个假值
      • 非!

    7. 其他运算符

      • 逗号运算符

      • typeof 查看数据类型

      • 三目运算符

        • 表达式1 ? 表达式2 : 表达式3
        • 表达式1为真执行表达式2
        • 表达式1为假执行表达式3