本篇文章是前端基础练习题第三十四天的答案及解析部分,纯题目部分请移步前端基础练习题 第34天
正文
1.页面有一个按钮button
,id
为button1
,通过原生JS
如何禁用(IE考虑IE8以上)该按钮?
参考代码如下所示:
1 | // 方式1 |
diabled
属性为禁用输入框、按钮等,readonly
属性为设置内容为只读状态。
instanceof
和typeof
的区别。typeof
为一元操作符,用来检测基本数据类型,返回值为数据类型的字符串形式,返回值共有8种。("undefined"
, "string"
, "boolean"
, "object"
, "number"
, "function"
, "symbol"
, "bigint"
)。instanceof
为双目运算符,是用来检测一个对象是否属于一个类的实例,返回值为true
/false
。
bigint
是ECMAScript
新增的一种数据类型,具体介绍请参看我的文章bigint介绍。
JS
中,对象的内部属性[[Class]]
可为哪些值?一共有12个值,即Arguments
, Array
, Boolean
, Date
, Error
, Function
, JSON
, Math
, Number
, Object
, RegExp
, String
。
对该对象调用toString
方法,即可看到其Class
值。也通常利用该值来判断其真正的数据类型。
JS
动画和CSS3
动画的差异性。两者的差异性表型在以下几方面:
- 实现难度上,
CSS3
动画利用transform
、animation
等方式即可简单实现动画,而JS
动画实现方式比较复杂 - 功能涵盖上,
CSS3
动画功能相对简单,而JS
动画的控制力更强,能实现比较繁琐的交互动画 - 渲染性能上,
CSS3
动画的渲染速度较快且比JS
动画更加流畅 - 兼容性上,
CSS3
动画由于是最新标准,故存在兼容性问题,而JS
动画则几乎不存在兼容性问题
5.简要介绍一下flex
布局。
flex
布局是CSS3
中新增的一种布局方式,即弹性布局。flex
内部的元素具有伸缩性,可按照设置的比例决定元素的宽高。利用flex
布局可以轻易设置和值的布局流、对齐方式、显示顺序等,亦能简单的实现水平垂直居中、三栏布局等常见的布局效果。
flex
布局需在IE9
及以上的浏览器运行。
transition
和animation
的区别。transition
是过渡属性,强调过渡,它的实现需要一个触发事件,如click
、hover
等才执行动画,其只有两个关键帧,即开始和结束;animation
是动画属性,它的实现不需要触发事件,设定好事件之后可以自己执行,且可设置多个关键帧完成动画效果。
7.visibility:hidden
、opacity:0
与display:none
三者之间有何区别?
visibility:hidden
是把元素隐藏起来,但不会改变页面布局,且不会触发该元素已经绑定的事件;opacity:0
隐藏元素,亦不会改变布局,但会触发该元素绑定的事件;display:none
改变页面布局,使元素不存在于页面,相当于删除该元素和相关事件。
说明
题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击前端基础练习题 第34天