Happy JS

整理一下大学自学JS的笔记

** 基本类型**

  1. 数值类型 number NaN 也是 number 类型`
  2. 字符串类型 string 成对的单引号、双引号引起来的值 ''空字符串 ' '空格字符串
  3. 布尔类型 boolean true false
  4. undefined 类型 值只有 undefined,表示一个变量被声明了但没有被赋值
  5. null 类型 值只有 null,表示声明了一个变量,这个变量用于保存一个对象,只不过这个对象暂时还没出现,但后续一定会出现
  6. 对象类型 object 复合类型 {name:“yh”,age:“22”}
  7. ES6 新增类型 symbol
  8. console.log(typeof 变量名) 打印数据类型
    • NaN 的数据类型是 number
    • 数组(Array)的数据类型是 object
    • 日期(Date)的数据类型为 object
    • null 的数据类型是 object
    • 未定义变量的数据类型为 undefined

算数运算符

  1. 加 +
  2. 减 -
  3. 乘 *
  4. 除 /
  5. 余 %

赋值

  1. =
  2. +=
  3. -+
  4. *=
  5. /=
  6. %=

关系运算符 所有的关系运算结果都是 boolean 值

  1. >
  2. <
  3. >=
  4. <=
  5. == 值一样就行,不用管数据类型
  6. ===全等 一模一样 数据类型也一样
  7. !=
  8. !==全不等

逻辑运算符

  1. 与 && 结果不一定是布尔值

         对于逻辑与运算,如果第一个操作数为true或者能隐式转换为true,运算结果为第二个操作数(第二个操作数是什么,结果就是什么),如果第一个操作数为false或者能隐式转换为false,运算结果为第一个操作数(第一个操作数是什么,结果就是什么),第二个操作数的式子不进行计算
    

    -面试题

    var a = 10; var b = a < 5 && a++; console.log(a,b);// 10 false
    第一个式子是false,第二个式子就不执行了 var c = a < 5 && ++a;
    console.log(a,c);// 10 false
    
  2. 或 || 结果不一定是布尔值

         对于逻辑或运算,如果第一个操作数为true或者能隐式转换为true,结果就为第一个操作数,如果第一个操作数为false或者能隐式转换为false,结果就为第二个操作数
    

    -面试题

    var a = 10; var d = a < 5 || a++; console.log(a,d);// 11 10 var d = a < 5 ||
    ++a; console.log(a,d);// 12 12
    
  3. 非 !

         非真即假 非假即真 结果为布尔值
    

自增自减

  1. ++ 自增1
  • a++ 先取值再加1

    var a = 10; var b = a++; console.log(a,b);//11 10 var c = 10;
    console.log(c++);//10
    
  • ++a先加 1 再取值

    var val = 5; var num = ++val; console.log(num,val);// 6 6 var num1 = 1;
    console.log(++num1);// 2
    
  • var d = 10; console.log(d++ + ++d + d + d++ + --d + d--);// 10+12+12+12++12=70
    console.log(d);//11
    
  1. -- 自减1
  • a–
  • –a

补充

一元运算符  + - !++ --  (因为+ -可以表示正负)
二元运算符  + - * / % > < >= <= == === != !== && ||
三元运算符  操作数1?操作数2:操作数3  操作数1:条件     操作数2:条件成立时执行的代码   操作数3:条件不成立  时执行的代码

运算符优先级

类型转换

  1. 强制(显式)转换

    借助转换函数

     Number()
     String()
     Boolean()
     parseInt()
     parseFloat()
    

Number()

  • 字符串转数值 只要字符串不是数值都为NaN
    注意
console.log(Number("10 11"));//NaN console.log(Number(""));//0
console.log(Number(" "));//0
  • 其他
console.log(Number(true));//1 console.log(Number(false));//0
console.log(Number(undefined));//NaN console.log(Number(null));//0

Boolean()

  • 数值转布尔 只有0NaN转化为false
  • null undefined 转化为布尔,全是false
  • 字符串转化为布尔 只有空字符''串转化为false

parseInt()

  • 从第一位开始检查,是数字就转换,直到一个不是数字的内容
  • 开头就不是数字,那么直接返回 NaN
  • 不认识小数点,只能保留整数

parseFloat()

  • 从第一位开始检查,是数字就转换,直到一个不是数字的内容
  • 开头就不是数字,那么直接返回 NaN
  • 认识一次小数点
console.log(parseFloat("1.1.11"));//1.1 console.log(parseFloat(""));//NaN
console.log(parseFloat(" "));//NaN console.log(parseFloat(null));//NaN
console.log(parseFloat(undefined));//NaN //pareInt的后四个一样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值