JS-NO.2

属性操作的两种方式

1 ".";
2 [] ;

  • 数字不能用 点 只能用[] 变量必须用[]
  • 所有点 能操作的属性 []都能操作

'='相关

  • '=' 赋值
  • '==' 非严格比较 ;只比较结果 不比较数据类型
  • '===' 严格比较 : 既比较结果 也比较数据类型

出现省略号的方法

white-space:nowrap; 不折行
text-overflow:ellipsis; 文本溢出 显示省略号
overflow:hidden  溢出隐藏

switch 坑 需要注意

  • 严格比较 既比较值 也比较数据类型

数据类型

  • 数据类型判断 type of

  • 数据类型

    • 基本类型
    • 引用类型
  • null undefined 区别:

    • null 现在没有 以后会有
    • undefined 以后也没有
      • 函数没有返回值 1 没写return 2 写了return 但没有返回值
      • 对象某个属性不存在的时候 拿到的值就是undefined
      • 定义了形参 但没有赋值
  • object 对象 {}

    • {k:v,k:v}
    • for...in 遍历
      for(var key in obj){
      key 属性名
      obj[key] 属性值
      }
      
  • 对象增删改查

    • 增 obj.name 属性名不存在
    • 改 obj.name 属性名存在
    • 查 obj.name
    • 删 假删除 obj.name = null
      真删除 delete obj.name
  • 数组 [1,2,3,4,5]

    • for循环
    • for...in
  • 数组的增删改查

    • 增 ary[0]=5
    • 改 ary[0]=3
    • 查 ary[2] 通过索引查找
    • 删 使用数组方法删除
      • splice
        删除ary.splice(2,1)
        插入ary.splice(2,0,'哈哈')
        替换ary.splice(2,2,'haha')
  • 运算符
    '+' 拼接 (优先) 和 运算

运算符

  • 算术运算符: + - / %
    % 有几种情况 就模几
    / % 除了 + 外,都具有隐式数据类型转换
  • 比较运算符: == === != !== < > <= >=
  • 逻辑运算符: &&且 ||或 ! 非
  • 赋值运算符: = += -= *= /= %=
  • 运算符优先级 算术 >比较 >逻辑 >赋值

数字 number

  • toFixed()(保留几位小数 可以四舍五入)
  • Number() 强制数字转换 严格转换
  • parseInt()保留整数 非严格转换parseInt() 和parseFloat()
  • parseFloat()保留小数
  • NaN isNaN()
    • 布尔值 转 数字 true 1 false 0
    • 对象 转 数字: [] 通过 toString() 转成 空字符串"" , 空字符串再通过 Number() 转成 0
    • null 转成 0 ; undefined 转成 NaN;
      null =>0 undefined =>nan

什么真 什么假

  • 以下几个为假 其他都为真
    • false '' 0 NaN null undefined

== 数据类型 比较

1对象和对象比较,按照地址进行比较,[]==[] false 引用数据类型是对地址的比较
2对象和布尔比较,按照数字进行比较,[]==![] true
! 会优先进行布尔类型转换
[]=> true => 1
[] =>''=>0 ![] => false => 0
3对象和字符串比较 转成字符串 []=='' true
4对象和数字比较 转成数字 []==0 true
5字符串和数字比较 转成数字 ''==0 true
6字符串和布尔比较 转成数字 ''==false true
7数字和布尔比较 1==true 0==0 false
8 null==undefined true
null===undefined false
9 NaN==NaN false 跟谁比较都不相等 包括自己

你可能感兴趣的:(JS-NO.2)