101、++运算符
++运算符优先级最高,所以不会先算乘法、
a++ 与 ++a:++a, ++在前先自增再运算,a++,++在后先运算在自增
102、JS label语法
退出多层循环
方法一:把循环封装成函数,用return来终止函数(循环)
输出:
方法二:抛出错误
输出:
方法三:直接让i大于10
方法四:label语句
这里的outer只是一个标签,可以是任意单词
103、双等号==运算规则
104、Reflect.has、in操作符、Object.keys、for in等,获取对象属性的区别
https://blog.csdn.net/weixin_43459866/article/details/115390763
第一组:Reflect.has() 和 in操作符
(使用.
操作符和['']
的方式访问属性, 类同于in操作符,同样可以访问到普通、不可枚举 、私有以及原型属性)
第二组:Object.keys() 和 for in 循环
第三组:带own的api
- getOwnPropertyNames() 返回可枚举属性和不可枚举属性
- getOwnPropertySymbols() 返回symbol类型的key属性
105、幽灵字符或零宽字符
106、包含块
上面的选项都对,但不完全对
浮动元素和普通元素的包含块是父元素的内容区域content,而不是父元素,他们的百分比也是相对父元素的内容区域content;
绝对定位元素的包含块是第一个定位父元素的padding区域;
固定定位元素的包含块是第一个变形元素(transform)的padding区域,如果没有变形元素那么就是浏览器的可视窗口
107、文字方向与margin等国际化站点中的技巧
①writing-mode: vertical-rl; 可以让文字垂直排列,但是想让红框中部分距离标题近一些(margin-right:-30px),不能用margin-right,因为如果文字排列方向是横向的,难道把margin-right改成margin-top吗?
解决:用块元素的布局开始方向margin-block-start,即为块元素的布局逻辑方向,当横向排列时,让红框部分距块元素的布局开始方向margin-block-start = -30px;
②想让红框中的年份正常展示而不是倒着的
设置text-combine-upright,告诉浏览器这里面的文字是一个整体
110、map 与 parseInt 八股文
parseInt转换规则,进制传0,和没传一样,按十进制来,输出1;有效进制范围2-36,传1就是无效的进制,输出NaN;传2,是有效进制,但是二进制里没有3,输出NaN
113、HTMLCollection 和 NodeList
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()也可以给任意需要滚动的元素使用