前端刷题笔记

前端刷题笔记

题1

:before {
content:’’;
width:0;
height:0;
border-left:10px solid red;
border-top:10px solid red;
border-bottom:10px solid transparent;
}
笔记:transparent:透明色

题2

请给出[5<6<3,3<2<4]代码的运行结果
答:[true,true]
笔记:5<6比较返回true,转换为1继续比较,1<3返回true,3<2比较返回false,转换为0继续比较,0<4返回true。

题3

console.log([ ] === [ ]); //false
console.log(undefined == 0);//false
console.log(undefined == false);//false
console.log(false == ‘’); //true
笔记:=是赋值操作,==是转换类型后在比较,===是先判断类型。
1.在特殊情况下,也就是两边都有对象的时候,会产生看似不合理的结果。
NaN == NaN; //false
[] == []; //false
[] == ![]; //true
{} == {}; //false
{} == !{}; //false
2.在转换不同的数据类型时,相等操作符遵循下列基本规则:
a.如果有一个操作数是布尔值,则在比较相等性之前,将其转换为数值;
b.如果一个操作数是字符串,另一个操作数是数值,在比较之前先将字符串转换为数值;(非数值字符串转数值为NAN)
c.如果一个操作数是对象,另一个操作数不是,则调用对象的 valueOf() 方法,用得到的基本类型值按照前面的规则进行比较;
d.如果有一个操作数是 NaN,无论另一个操作数是什么,相等操作符都返回 false;
e.如果两个操作数都是对象,则比较它们是不是同一个对象。如果指向同一个对象,则相等操作符返回 true;
f.在比较相等性之前,不能将 null 和 undefined 转成其他值。
g.null 和 undefined 是相等的。
补充:1.[ ] == 0; //true ( Number([ ]) -> 0 )
2.逻辑非 (!) 的优先级高于相等操作符 ( == )
[ ] == ![ ] 的时候,先计算 ![ ] 得到布尔值 false,实际比较[ ] == false,false转换为0,Number([ ]) -> 0 ,返回true。
因为[ ]是对象,操作数为对象时,返回true。

题4

伪类可以看作以选中元素为基准点,此元素的一些状态或属性。
:before是伪元素
:active、:hover、:focus等是伪类

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值