JavaScript基础语法 变量 常量 数据类型

Ayiayi00 2019-06-28

第十六天笔记

JavaScript

基础语法

  • 区分大小写
    JavaScript是一种区分大小写的语言
    JavaScript的关键字 变量名 函数名 以及任何其他的标识符必须适应一致的大小写形势
var wolongquanduan = '卧龙前端';
    console.log(wolongqianduan);
    var Wolongqianduan = 'Wolongqianduan';
    console.log(Wolongqianduan);
    var WOLONGQIANDUAN = 'WOLONGQIANDUAN';
    console.log(WOLONGQIANDUAN);
  • 空格和换行
    并不是JavaScript的语法内容 - 可有可无 (建议使用)
    将代码书写的更加整洁 美观 更有可读性
  • 可选的分号
    分号
    可选项 - JavaScript 语法并不是强制要求的
    多个语句在一行编写时 分号必须存在
    作用 - 表示一句话结束
  • 变量的定义
    变量的定义的语法结构:
    语法结构 - var 变量名称 = 变量的值;
    JavaScript的变量是弱类型的(松散类型)
    定义变量时 初始化值 - 并不清楚变量的值的类型
    只有在为变量初始化值 - 才知道改变了的值的类型
/* 1.定义变量 并初始化值 */
    var v = '卧龙学苑';/* 定义变量 - 变量的定义 并且初始化值 */
    console.log(v);/* 调用变量 */

    /* 2.定义变量 但是没有初始化值 */
    var v1; /* 只定义 没有初始化 */
    console.log(v1);/* 结果为 undefined(未定义)*/

    v1 = '卧龙学苑' ;/* 初始化值(赋值)*/
    console.log(v1);

    /* 3.多个变量同时定义 - 变量定义之间使用逗号分隔 */
    var v2 = 100, v3;
    console.log(v2);//100
    console.log(v3);//undefined
  • 重复的定义
    JavaScript中重复定义变量 - 语法是允许的
    重复定义时 - 先将之间的变量在内存的空间销毁 再创建
  • 重复的赋值
    赋值语句可以将一个含有变量的自身的代数式的值再赋给这个变量
var v = '卧龙学苑';
    console.log(v);//卧龙学苑

    v = 100;
    console.log(v);//100
  • 遗漏的定义
    变量没有定义 - 之间调用
    结果 - (报错)变量名 id not defined
    原因 - 该变量没有定义
    只定义变量 - 但不初始化值
    结果 - (不报错)输出结果为 undefined
  • 常量的定义
    ECMA5之前的版本
    语法并没有提供常量的定义 - 只能定义变量
    认为规定定义的是常量 但是使用的语法结构依旧是变量的语法
    ECMA5及之后的版本
    提供了定义常量的语法 - 确认定义 值就不能再更改
    const 常量名 = 值;
    重复赋值 - 报错
    TypeError: Assignment to constant variable
    重复定义 (常量或变量) - 报错
    SyntaxError: Identifier 'C1' has already been declared
    定义变量与常量的名称
    定义变量名称时 - 全小写或者大小写混合
    定义常量名称时 - 全大写
var C = 100;//语法上是变量的 人为规定是常量
    C = 200; //语法上是变量

    const C1 = 100;
    //不能重复赋值
    //C1 = 200;
    //重复定义为常量
    //const C1 = 200;
    //重复定义为变量
    var C1 =200;
  • 定义变量或常量
    JavaScript是脚本语言 - 语法规则相对灵活(不建议)
    定义变量或常量时 允许不写修饰符(var或者const)
    没有var或者const关键字时 定义的默认为变量
  • 常量定义的问题
    常量的定义 - 必须定义时 同时初始化值
    如果只定义而不初始化 - 报错
    SyntaxError: Missing initializer in const declaration
  • 变量与常量的区别
    变量
    1.定义变量使用var关键字
    2.定义变量 可以使用小写
    3.变量允许重复定于或重复赋值
    4.变量只允许定义 但不初始化
    5.变量的值是允许改变的
    常量
    1.定义常量使用const关键字
    2.定义常量使用大写
    3.常量不允许重复定义或重复赋值
    4.常量必须定义初始化值
    5.常量的值不允许改变

数据类型概况

  • 概括
    在JavaScript代码中 能够表示并操作的类型称之为数据类型
    数据类型分为(原始类型 特殊类型) (包装类型 引用类型)
    原始类型又成原始值 是直接代表JavaScript语言实现的最底层的数据
    分别为boolean类型 number类型 string类型三种.
    1.boolean类型
    整数(lntger)和浮数点(小数丨float或double)
    JavaScript并不区分整数与浮数点
    a.变量的定义并初始化
    b.字面量或直接量定义数字值
    2.number类型
    number类型是指数字 JavaScript不区分整数类型和浮点类型
    a.整数类型:包括负整数 0 和正整数
    b.浮点类型:表示小数 JavaScript中的随意数字均可用浮点类型表示
    进制有:八进制 十进制 十六进制
    3.string类型
    string类型用于表示由零或多个16位Unicode字符组成的字符序列 被称为字符串 字符串可以由双引号("")或单引号('')表示

    浮点类型

    var num1 = 0.1;
    console.log(num1);
    // 浮点类型- '.1'表示'0.1'的含义 -> 不推荐使用
    var num2 = .1;
    console.log(num2);
    
    var num3 = 10.1;
    console.log(num3);
    // 浮点类型 -'.0'表示为整数
    var num4 = 10.0;
    console.log(num4);
    // 浮点类型 - '.'表示为整数
    var num5 = 10.;
    console.log(num5);
  • 浮点类型的计算误差
    number类型中的小数 在计算时都可能出现误差
    并不是所有的小数计算都出现误差
    小数的计算时 注意结果是否出现误差
    通过数字值的换算 将其转换成整数进行计算 再将结果换算为小数
  • NaN(Not a Number)
    即非数值 是一个特殊的数值
    特点:
    任何涉及NaN的操作都会返回NaN
    NaN与任何值都不相等 包括NaN本身
var num = Number('卧龙学苑');//将一个普通文本内容转换成number类型
    console.log(num);//当前这个值不是一个数字值

    console.log(10 == 10);//true
    console.log(NaN == NaN);//false
  • 无穷大
    1.正无穷大 2. 负无穷大
    无穷大与另一个无穷大是不相等的
    无穷大减去另一个无穷大不等于零
var num = 98/0;
    console.log(num);//Infinity(无穷)
  • 字符串
    string类型 - JavaScript的字符穿就是由单引号或者双引号包裹
    在JavaScript中单引号和双引号是没有区别的 - 建议使用单引号
    文本本身需要单引号或双引号时
    1.如果需要的是双引号 字符串只能使用单引号
    2.如果需要的是单引号 字符串只能使用双引号
  • 转义字符
    在控制台输出"xxxyyy" 第一行输出"xxx" 第二行输出"yyy"

    console.log('xxx\nyyy');
    
       console.log('100');//string类型
  • 运算符
    typeof运算符
    typeof运算符 - 判断原始类型
    语法结构 - typeof 变量名称
    结果 - 元素类型的名称(string类型)

    var num = 100;
    var boo = true;
    var str = '卧龙学苑';
    
    console.log(typeof num);//number
    console.log(typeof boo);//boolean
    console.log(typeof str);//string
    
    var result = typeof num;
    console.log(result);//number
    console.log(typeof result);//string

    instanceof运算符
    instanceof运算符用于判断引用类型(包装类型)

    console.log(typeof str);//object
    console.log(typeof num);//object
    console.log(typeof boo);//object
    
    console.log(str instanceof String);//true

    typeof运算符与instanceof运算符的区别
    typeof 运算符
    1.用于判断原始类型
    2.语法结构不同 -> typeof 变量名称
    3.得到结果不同 -> 原始类型的名称
    instanceof运算符
    1.用于判断引用类型(包装类型)
    2.语法结构不同 ->变量名称 instanceof引用类型名称
    3.得到结果不同 ->布尔类型的值 (true或false)

  • 特殊类型
    undefined - 在JavaScript表示为空的含义
    如果一个变量的值等于undefined -> 变量是存在的 但没有值
    undefined 类型中只存在一个值(undefined)
    得到undefined值的情况如下:
    定义变量时 只声明 而不初始化 -> undefined
    定义变量时 初始化值为 undefined -> undefined
    注意 - 得到undefined值的情况不止以上两种

    var v;
    console.log(v);
    var c = undefined;
    console.log(c);
    console.log(typeof  v);//undefined - 类型名称

    null
    作用 - 用于将指定变量从内存中进行释放
    实现 - 将指定变量的值赋值为 null
    null类型中只存在一个值 (null)

    var v = null;
    //以下结果是错误的
    console.log(typeof v);//object
    //console.log(v instanceof Null);//结果为报错
    console.log(v instanceof Object);//false

相关推荐