Skip to content

习题 ​

控件 ​

  1. 控件的 name 属性与 id 属性各服务于谁?漏写 name 的控件,用户填了值会发生什么?(再认)
  2. label 与 placeholder 都能"提示"用户,两者有何区别?各适合放什么内容?(辨析)
    • 提示:从"提示何时可见、消失后还剩什么"想
  3. 把"性别"做成文本框、或做成单选框,提交到后端的值有什么本质区别?哪种几乎不需要校验,为什么?(辨析)
    • 提示:从"用户可能提交哪些值"想
  4. type="tel"、type="date" 在手机上与普通文本框有何不同?(再认)
  5. 用 div 自绘一个下拉框,除了外观可控,还会失去什么?(辨析)
    • 提示:键盘用户和读屏用户还认得它吗

数据校验 ​

  1. required 与一段判断非空的 JavaScript,各属于哪种校验表达方式?各有什么代价?(再认)
  2. "结束日期必须晚于开始日期"属于哪一级校验?为什么 required/pattern 表达不了?(辨析)
  3. 为什么"检查用户名是否已被注册"这一条,永远做不成纯前端校验?(迁移)
    • 提示:这条规则的答案存在哪里
  4. 注册页填完用户名还没提交,就提示"该用户名已被注册"——这次校验由谁执行?预检显示"可用",提交时为什么还可能报"已被注册"?(辨析)
    • 提示:判断要用的事实在哪里;预检与提交是两次隔着时间的独立检查
  5. 爬虫或 agent 浏览器提交表单时,你写的 required 还拦得住它吗?这决定了什么?(迁移)
    • 提示:回忆浏览器里"谁在开车",以及校验在哪一端执行

UI 术语 ​

  1. modal、popover、tooltip、toast 都常被叫成"弹窗",请从"是否挡住背后、出现在哪、怎么消失"三方面区分它们。(辨析)
  2. "把右下角那个圆的悬浮的按钮改成蓝色"和"把 floating action button 改成蓝色"这两句提示词,为什么后者 AI 改得更准?术语在其中起了什么作用?(迁移)