web前端dy - 2

时间:2024-01-22 14:00:10

101、++运算符

web前端dy - 2_进制

++运算符优先级最高,所以不会先算乘法、

a++ 与  ++a:++a, ++在前先自增再运算,a++,++在后先运算在自增

102、JS label语法

退出多层循环

方法一:把循环封装成函数,用return来终止函数(循环)

web前端dy - 2_块元素_02

输出:

web前端dy - 2_进制_03

方法二:抛出错误

web前端dy - 2_块元素_04

输出:

web前端dy - 2_操作符_05

方法三:直接让i大于10

方法四:label语句

web前端dy - 2_进制_06

这里的outer只是一个标签,可以是任意单词

web前端dy - 2_块元素_07

103、双等号==运算规则

web前端dy - 2_操作符_08

web前端dy - 2_进制_09

104、Reflect.has、in操作符、Object.keys、for in等,获取对象属性的区别

https://blog.csdn.net/weixin_43459866/article/details/115390763

第一组:Reflect.has() 和 in操作符

(使用.操作符和['']的方式访问属性, 类同于in操作符,同样可以访问到普通、不可枚举 、私有以及原型属性)

web前端dy - 2_块元素_10

第二组:Object.keys() 和 for in 循环

web前端dy - 2_操作符_11

第三组:带own的api

web前端dy - 2_操作符_12

  • getOwnPropertyNames() 返回可枚举属性和不可枚举属性
  • getOwnPropertySymbols() 返回symbol类型的key属性

105、幽灵字符或零宽字符

web前端dy - 2_块元素_13

web前端dy - 2_块元素_14

web前端dy - 2_块元素_15

106、包含块

web前端dy - 2_块元素_16

上面的选项都对,但不完全对

web前端dy - 2_操作符_17

浮动元素和普通元素的包含块是父元素的内容区域content,而不是父元素,他们的百分比也是相对父元素的内容区域content;

绝对定位元素的包含块是第一个定位父元素的padding区域;

固定定位元素的包含块是第一个变形元素(transform)的padding区域,如果没有变形元素那么就是浏览器的可视窗口

107、文字方向与margin等国际化站点中的技巧

web前端dy - 2_进制_18

①writing-mode: vertical-rl; 可以让文字垂直排列,但是想让红框中部分距离标题近一些(margin-right:-30px),不能用margin-right,因为如果文字排列方向是横向的,难道把margin-right改成margin-top吗?

解决:用块元素的布局开始方向margin-block-start,即为块元素的布局逻辑方向,当横向排列时,让红框部分距块元素的布局开始方向margin-block-start = -30px;

②想让红框中的年份正常展示而不是倒着的

web前端dy - 2_进制_19

设置text-combine-upright,告诉浏览器这里面的文字是一个整体

web前端dy - 2_操作符_20

110、map 与 parseInt 八股文

web前端dy - 2_块元素_21

parseInt转换规则,进制传0,和没传一样,按十进制来,输出1;有效进制范围2-36,传1就是无效的进制,输出NaN;传2,是有效进制,但是二进制里没有3,输出NaN

web前端dy - 2_块元素_22

113、HTMLCollection 和 NodeList

web前端dy - 2_块元素_23

114、平滑滚动

比如回到顶部按钮,这样写,页面直接回到顶部,没有缓动动画

btn.onclick = function () {
  window.scrollTo(0, 0)
}

①给html设置 scroll-behavior: smooth;

btn.onclick = function () {
  window.scrollTo({
  	top: 0;
    behavior: smooth;
  })
}

附:scroll-behavior: smooth;可以设置给任意需要滚动的元素;

ele.scrollTo()也可以给任意需要滚动的元素使用