JavaScript基础语法 变量 常量 数据类型
第十六天笔记
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