JavaScript容易混淆点

1、相等(== )与全等(===)

1.1、相等 ==

操作符会先做转换操作(强制转型),然后比较相等性。具体转换规则:
- 如果有一个值是bool值,比较之前将其转为数值—-false转为0,true转为1
- 一个操作数是字符串,另一个是数值,在比较之前将字符串转为数值
- null和undefined相等
- 比较相等之前,不能将null和undefined转换未任何值
- 如果一个操作是NaN,所有比较都返回false。包括两个NaN比较。
- 如果两个操作数都是对象,则比较是不是同一个对象。

具体如下

null == undefined //true
"NaN" == NaN  //false
5 == NaN  //false
NaN == NaN //false
NaN != Nan  //true
false == 0  //true
false == '0' //true
true == 1  //ture
true == 2 //false
undefined == 0 //false
null == 0  //false
'5' == 5  //true

var obj = {valueOf: function(){ x = 2; return 0 }}
0 == obj

1.2、全等 ===

全等操作符在比较之前不转换操作数,比较未转换的两个操作数。

null === undefined //false
false === 0  //false
false === '0' //false
true === 1  //false
undefined === 0 //false
null === 0  //false
'5' === 5  //false
var obj = {valueOf: function(){ x = 2; return 0 }}
0 == obj

var obj1 = {valueOf: function(){ x = 2; return 0 }}

1.3、相关链接

https://www.zhihu.com/question/31442029

2、Dom对象和Jquery对象

Dom对象:使用传统Js方法获得的对象,如document.getElementById(“domid”);

Jquery对象:使用Jquery类库获取的对象,如$(“#domid”),是通过Jquery包装Dom对象产生的对象,是Jquery独有的;

Jquery对象不可以使用Dom对象的方法,同样Dom对象也不可以使用Jquery对象的方法。

$("#domid").html(); //Jquery对象方法,获取id为domid的元素内的html代码,html()是jQuery特有的方法;
document.getElementById("domid").innerHTML;//Dom对象方法,同上

2.1、Jquery对象与Dom对象相互转换

  • jquery对象转为Dom对象
//通过下标获取
$('#domid')[0];
//通过api获取
$('#domid').get(0)
  • Dom对象转为Jquery对象
var dom = document.getElementById("domid");
var $dom = $(dom);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值