属性的操作方式
- "." 点
- []
p.s: 数字不能用"." ,只能用[],并且,所有用"."能操作的属性,都能用[]来写;
等号"="
- "=" 一个等号是用来赋值的
- "==" 两个等号是用来比较的,是非严格比较
- "===" 三个等号也会是比较,是严格比较
p.s: 非严格比较之比较值,也就是结果;严格比较即比较值,也比较数据类型
文字超出用省略号代替
white-space: nowrap; //不折行
text-overflow: ellipsis; //当文本溢出的时候,以什么形式来展现,ellipsis 代表省略号
overflow: hidden; // 内容溢出隐藏
** switch 的坑:switch是严格比较**
数据类型
- typeof 数据类型的判断
- 数据类型分为:
- 基本数据类型:string、number、Boolean、null、undefined
- 引用数据类型
- 对象数据类型:Object、Data、Array、RegExp
- 函数数据类型:function
null和undefined的区别
- null表示现在没有,以后会有
var data = null;//请求结束时,data才会有赋值,data=[{},{}.....]
- undefined表示现在没有,以后也没有
- 没有设置return
- 设置了return,但是没有返回值
+获取对象的某个属性不存在时,获取到的是undefined - 设置了形参,但是没有赋值
- 对象 {}
- 书写形式:{k:v,k:v,k:v}
- 对象用for...in 遍历
对象的增删改查
作用 | 对象 | 数组 |
---|---|---|
增 | obj.xxx = xxx | arr[x] = xxx; |
改 | obj.xxx = xxx | arr[x] = xxx; |
查 | obj.xxx | arr[x]通过数组的索引进行查找 |
假删 | obj.xxx = null | splice |
真删 | delete obj.xxx | 数组不能通过delete删除 |
数组的删除 splice
- 如果是两个参数,作用 删除,第一个值为从第几个开始,第二个值为删掉几个
- 如果是三个参数,且第二个参数为 0 ,代表插入,第一个从第几个开始,第二个值为0 表示不删除,第三个值添加的内容
- 如果是三个参数,且第二个参数为 0,表示替换
数组的循环
- for循环
- for...in 循环
数字Number
- 常用方法:
- toFixed 四舍五入保留小数
- parseInt 保留整数
- parseFloat 保留浮点数
- 字符串转数字:一严二非严
- Number 严格
- parseInt 非严
+parseFloat 非严
- 数据转换失败的时候返回NaN
- isNaN() 判断数据是否为非有效数字
- Boolean值转换为数字 true 为1,false 为 0;
- null 转换数字为 0
- undefined 转换数字为 NaN
- null == undefined 返回值为 true
- 对象转换数字:[] 通过toString()转为“” 空字符串,空字符串在通过Number() 转换为 0;
哪些是真,哪些是假
- 除了以下六个为假,其他都为真:
- false
- 0
- “”
- null
- undefined
- NaN
“==” 数据类型之间的比较
- 对象和对象比较,按照地址进行比较
- 对象和布尔值比较,按照数字进行比较
- 对象和字符串比较,按照字符串进行比较
- 对象和数字比较,按照数字进行比较
- 字符串和数字进行比较,按照数字进行比较
- 字符串和布尔值进行比较,按照数字进行比较
- 数字和布尔值进行比较,按照数字进行比较
- null 和 undefined比较为 true
- NaN 和任意数据类型比较,包括NaN自己,都为false
运算符
- 比较运算符:< > <= >= == === != !==
- 算数运算符:+ - * / %
- 逻辑运算符:&& || !
小技巧
- “+”:具备两个功能1.字符串拼接 2.运算
- 除了“+”不会进行隐式转换外,其他的运算符都可以进行隐式数据转换
- “%”:有几种情况就%几
- 用 && 代替if
true && alert("真"); // 为真时输出
- 用 || 代替else
flase || alert("假"); //为假时输出
- 赋值运算符:+ - += -= *= /= %=
运算符的优先级
算数 > 比较 > 逻辑 > 赋值