第十六天笔记
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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。