前端面试题(基础篇八)

一、eval是做什么的

它的功能就是将对应的字符串解析成js代码运行

应该避免使用eval,它非常耗性能,且不安全(一次解析为js代码,一次执行)

由 JSON 字符串转换为JSON对象的时候可以⽤ eval,var obj =eval('('+ str +')')

二、null,undefined 的区别

undefined 表示不存在这个值。

undefined :是⼀个表示"⽆"的原始值或者说表示"缺少值",就是此处应该有⼀个值,但 是还没有定义。当尝试读取时会返回 undefined

例如变量被声明了,但没有赋值时,就等于 undefined

null 表示⼀个对象被定义了,值为"空值"

null : 是⼀个对象(空对象, 没有任何属性和⽅法)

例如作为函数的参数,表示该函数的参数不是对象;

在验证 null 时,⼀定要使⽤ === ,因为 == ⽆法分别 null 和undefined

三、渐进增强和优雅降级

渐进增强 :针对低版本浏览器进⾏构建⻚⾯,保证最基本的功能,然后再针对⾼级浏览器 进⾏效果、交互等改进和追加功能达到更好的⽤户体验。

优雅降级 :⼀开始就构建完整的功能,然后再针对低版本浏览器进⾏兼容

四、attribute和property的区别是什么

attribute 是 dom 元素在⽂档中作为 html 标签拥有的属性;

property 就是 dom 元素在 js 中作为对象拥有的属性。

对于 html 的标准属性来说, attribute 和 property 是同步的,是会⾃动更新的 但是对于⾃定义的属性来说,他们是不同步的

五、对web标准、可⽤性、可访问性的理解

可⽤性(Usability):产品是否容易上⼿,⽤户能否完成任务,效率如何,以及这过程中 ⽤户的主观感受可好,是从⽤户的⻆度来看产品的质量。可⽤性好意味着产品质量⾼,是 企业的核⼼竞争⼒

可访问性(Accessibility):Web内容对于残障⽤户的可阅读和可理解性

可维护性(Maintainability):⼀般包含两个层次,⼀是当系统出现问题时,快速定位并解 决问题的成本,成本低则可维护性好。⼆是代码是否容易被⼈理解,是否容易修改和增强 功能。

相关推荐
深蓝AI8 小时前
Meta 开源用了八年的设计系统 astryx:连坐两天 GitHub 总榜第一,组件库开始写给 agent 的说明书
前端·人工智能
IT_陈寒8 小时前
Vue的watch把我坑惨了,原来要这样用才靠谱
前端·人工智能·后端
1-1=08 小时前
Vue 3 模板语
前端·javascript·vue.js
用户7610304473719 小时前
【转战智能眼镜开发】ROKID AIUI 小游戏 亚马逊标枪项目实战讲解
前端
风卿9 小时前
看着AI写代码太孤独了,来欣赏星云吧:一个DSH 装饰插件
前端·javascript
牧艺9 小时前
弹层不用再手算坐标了:CSS Anchor Positioning 从原理到可上线
前端·javascript·css
用户老李9 小时前
YOLO 目标检测自学教程 07:YOLOv3——多尺度预测
前端
moshuying10 小时前
ESP32 墨水屏金价牌(上):从点亮到把图片推过去
前端
李剑一10 小时前
别再抬杠,前端岗已经没了!无论前后端,我们最终都要成“全干”工程师
前端·面试
Highcharts.js10 小时前
Highcharts 仪表盘与速度仪图表库介绍
前端·信息可视化·仪表板·highcharts·图表开发·图表库·仪表可视化