第一节:JavaScript中字面量与变量
直接量(字面量):看见什么,它就是什么
数字的整数字面量可以有三种进制:
10进制:普通的数字就是十进制
8进制:以0、0o、0O开头数字
16进制:以0x,0X开头数字
注意:只有十进制有小数的字面量,八进制、十六进制没有小数的字面量。所以小数没有进制之分
特殊字面量
Infinity 正无穷
NaN
Infinity 负无穷
变量命名规则
由字母、下划线(_)、美元($)符号、数字(0-9)组成
不能以数字开头
严格区分大小写
不要使用中文变量名
不能使用关键字和保留字
第二节:JavaScript中的数据类型及类型转换
基本类型6种
number 数字类型
string 字符串类型
boolean 布尔类型,仅有两个值true 和 false
undefined 只var了一个变量,没有赋初值,它的默认值是undefined;
null
symbol es6新增
转 number
Number方法
string "12px" => NaN => 0
boolean true => 1 false => 0
null null => 0
undefined undefined => NaN
{} {} => NaN
[] [1]=>1,[]=>0,[1,2]=>NaN
function Number(function(){}) => NaN
parseInt就是将一个string转为一个整数,不四舍五入,而且 还可以任何进制的数字,都换为10进制。parseInt如果不能转,那么就返回NaN
parseFloat就是将字符串转为浮点数
isNaN()这个方法会先把其他类型数据转化成数字类型,之后判断是不是NaN
转 string: 将一个数字,与一个空字符串进行连字符运算,那么就是自动转为字符串了。
只有六种情况Boolean(被转换的数据)的结果是false,其余全是true
0 数字0
NaN 数字NaN
"" 空字符串
false 布尔值false
undefined undefined类型
null null类型
一.运算符
运算符(Operators,也翻译为操作符),是发起运算的最简单形式。
运算符的分类见仁见智,我们的课程对运算符进行如下分类:
数学运算符 加+ 减 - 乘 * 除 / 取余数 % 括号 ()
比较运算符 返回布尔值 <, >, <=, >=,==,===,!=,!==
逻辑运算符 &与, ||或,!非 顺序:非,与 ,或
赋值运算符 + - * / ++ --
按位运算符
条件 (三元) 运算符
运算符的计算顺序
贴身的( ++ -- !) →→→ 数学 →→→ 比较 →→→ 逻辑 →→→ 赋值
数学运算符:
总结:
只要出现了undefined参与运算,结果都是NaN。
然后纯数字字符串("4")、false、true、null都能进行隐式转换。
加号有字符串拼接
Infinity+1000//Infinity
Infinity-1000//Infinity
Infinity/1000//Infinity
Infinity-Infinity//NaN
Infinity/Infinity//NaN
Infinity*Infinity//Infinity
0/0//NaN
6/0//Infinity
NaN/8//NaN
比较运算符:
总结:
都是number,进行数值比较
都是字符串,比较字符串编码值
如果不是数字,会隐式转化为数字再比较
逻辑与的短路运算
比如a && b,a如果就是一个false,直接输出false
逻辑或的短路运算
比如a||b,a是真,那么返回a;如果a是假,返回b