JavaScript基础拓展总结深入(== 和 ===的区别、undefined和null的区别,分号问题)

JavaScript中的== 和=== 的区别

== 表示值的比较,=== 表示对象类型的比较。
注意
1、对于string,number等基础类型,== 和 ===是有区别的。
a)不同类型间比较,==之比较转化成同一类型的值,如果值相等,结果就等, === 如果类型不同,其结果就是不等。

alert('2' == 2);  //结果为true
alert('2' === 2);  //结果为false

2、对于Array,Object等高级类型,== 和 === 是没有区别的。
进行“指针地址”比较。
3、基础类型与高级类型,== 和 === 是有区别的。
a) 对于 ==,将高级转化为基础类型,进行“值”比较。
b)因为类型不同, === 结果为false。

 var a = '1';   //基本数据类型:String
 var b = 1;  //基本数据类型:Number
 var c = [1,2]  //引用类型:Array
 var d = [1,2]  //引用类型:Array
  var e = c //e指向的是c的地址值
 console.log(a == b) //结果为:true
 console.log(a === b) //结果为:false
 console.log(c === d) //结果为:false
 console.log(e === c)  //结果为:true
  console.log(e == c)  //结果为:true

JavaScript中undefined和null

1、undefined和null的区别

undefined代表定义未赋值(没有找到)
null定义并赋值了,只是值为null(值为空)

2、什么时候应该给变量赋值为null呢?

a)初始赋值,表明将要赋值为对象
b)结束前,让对象成为垃圾对象(被垃圾回收器回收)

3、严格区别变量类型与数据类型

数据类型:
*基本类型
*对象类型
变量的类型(变量内存值的类型)
*基本类型:保存的是基本类型的数据
*引用类型:保存的是地址值

function Person (name, age) {// 构造函数  类型
    this.name = name
    this.age = age
  }
  var p = new Person('tom', 12) // 根据类型创建的实例对象
  
// 1. undefined与null的区别?
  var a
  console.log(a)  // undefined
  a = null
  console.log(a) // null
  
 //起始
  var b = null  // 初始赋值为null, 表明将要赋值为对象
  //确定对象就赋值
  b = ['atguigu', 12]
 //最后
  b = null // 让b指向的对象成为垃圾对象(被垃圾回收器回收)

JavaScript中的分号问题

1、js一条语句的后面可以不加分好
2、是否加分号是编码风格问题,根据个人的习惯爱好,并不影响结果
3、在下面两种情况下不加分好会有问题
a)小括号开头的前一条语句
b)中方括号开头的前一条语句
4、解决方法:在首行加分号

 var a = 3
  ;(function () {
  })()
  /*
   错误理解
   var a = 3(function () {
   })();
  */
  var b = 4
  ;[1, 3].forEach(function () {
  })
  /*
  错误理解
   var b = 4[3].forEach(function () {
   })
   */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值