2021-03-09 第3天

今天的面试题 (2019.04.19) —— 第3天

  • [html] HTML全局属性(global attribute)有哪些(包含H5)?

标签描述
<!--...-->定义注释
<!DOCTYPE>定义文档类型
<a>定义超文本链接
<abbr>定义缩写
<acronym>定义只取首字母的缩写,不支持HTML5
<address>定义文档作者或拥有者的联系信息
<applet>HTML5中不赞成使用。定义嵌入的 applet。
<area>定义图像映射内部的区域
<article>New定义一个文章区域
<aside>New定义页面的侧边栏内容
<audio>New定义音频内容
<b>定义文本粗体
<base>定义页面中所有链接的默认地址或默认目标。
<basefont>HTML5不支持,不赞成使用。定义页面中文本的默认字体、颜色或尺寸。
<bdi>New允许您设置一段文本,使其脱离其父元素的文本方向设置。
<bdo>定义文字方向
<big>定义大号文本,HTML5不支持
<blockquote>定义长的引用
<body>定义文档的主体
<br>定义换行
<button>定义一个点击按钮
<canvas>New定义图形,比如图表和其他图像,标签只是图形容器,您必须使用脚本来绘制图形
<caption>定义表格标题
<center>HTML5不支持,不赞成使用。定义居中文本。
<cite>定义引用(citation)
<code>定义计算机代码文本
<col>定义表格中一个或多个列的属性值
<colgroup>定义表格中供格式化的列组
<command>New定义命令按钮,比如单选按钮、复选框或按钮
<datalist>New定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。
<dd>定义定义列表中项目的描述
<del>定义被删除文本
<details>New用于描述文档或文档某个部分的细节
<dfn>定义定义项目
<dialog>New定义对话框,比如提示框
<dir>HTML5不支持,不赞成使用。定义目录列表。
<div>定义文档中的节
<dl>定义列表详情
<dt>定义列表中的项目
<em>定义强调文本
<embed>New定义嵌入的内容,比如插件。
<fieldset>定义围绕表单中元素的边框
<figcaption>New定义<figure> 元素的标题
<figure>New规定独立的流内容(图像、图表、照片、代码等等)。
<font>HTML5不支持,不赞成使用。定义文字的字体、尺寸和颜色。
<footer>New定义 section 或 document 的页脚。
<form>定义了HTML文档的表单
<frame>定义框架集的窗口或框架
<frameset>定义框架集
<h1> to <h6>定义 HTML 标题
<head>定义关于文档的信息
<header>New定义了文档的头部区域
<hr>定义水平线
<html>定义 HTML 文档
<i>定义斜体字
<iframe>定义内联框架
<img>定义图像
<input>定义输入控件
<ins>定义被插入文本
<kbd>定义键盘文本
<keygen>New规定用于表单的密钥对生成器字段。
<label>定义 input 元素的标注
<legend>定义 fieldset 元素的标题。
<li>定义列表的项目
<link>定义文档与外部资源的关系
<main>定义文档的主体部分。
<map>定义图像映射
<mark>New定义带有记号的文本。请在需要突出显示文本时使用 <m> 标签。
<menu>不赞成使用。定义菜单列表。
<meta>定义关于 HTML 文档的元信息。
<meter>New定义度量衡。仅用于已知最大和最小值的度量。
<nav>New定义导航链接的部分
<noframes>定义针对不支持框架的用户的替代内容。HTML5不支持
<noscript>定义针对不支持客户端脚本的用户的替代内容。
<object>定义内嵌对象
<ol>定义有序列表。
<optgroup>定义选择列表中相关选项的组合。
<option>定义选择列表中的选项。
<output>New定义不同类型的输出,比如脚本的输出。
<p>定义段落。
<param>定义对象的参数。
<pre>定义预格式文本。
<progress>New定义运行中的进度(进程)。
<q>定义短的引用。
<rp>New<rp> 标签在 ruby 注释中使用,以定义不支持 ruby 元素的浏览器所显示的内容。
<rt>New<rt> 标签定义字符(中文注音或字符)的解释或发音。
<ruby>New<ruby> 标签定义 ruby 注释(中文注音或字符)。
<s>不赞成使用。定义加删除线的文本。
<samp>定义计算机代码样本。
<script>定义客户端脚本。
<section>New<section> 标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
<select>定义选择列表(下拉列表)。
<small>定义小号文本。
<source>New<source> 标签为媒介元素(比如 <video> 和 <audio>)定义媒介资源。
<span>定义文档中的节。
<strike>HTML5不支持,不赞成使用。定义加删除线文本。
<strong>定义强调文本。
<style>定义文档的样式信息。
<sub>定义下标文本。
<summary>New<summary> 标签包含 details 元素的标题,"details" 元素用于描述有关文档或文档片段的详细信息。
<sup>定义上标文本。
<table>定义表格。
<tbody>定义表格中的主体内容。
<td>定义表格中的单元。
<textarea>定义多行的文本输入控件。
<tfoot>定义表格中的表注内容(脚注)。
<th>定义表格中的表头单元格。
<thead>定义表格中的表头内容。
<time>New定义日期或时间,或者两者。
<title>定义文档的标题。
<tr>定义表格中的行。
<track>New<track> 标签为诸如 video 元素之类的媒介规定外部文本轨道。
<tt>定义打字机文本。
<u>不赞成使用。定义下划线文本。
<ul>定义无序列表。
<var>定义文本的变量部分。
<video>New<video> 标签定义视频,比如电影片段或其他视频流。
<wbr>New规定在文本中的何处适合添加换行符。

 

  1. MDN: html global attribute或者W3C HTML global-attributes
  2. accesskey:设置快捷键,提供快速访问元素如aaa在windows下的firefox中按alt + shift + a可激活元素
  3. class:为元素设置类标识,多个类名用空格分开,CSS和javascript可通过class属性获取元素
  4. contenteditable: 指定元素内容是否可编辑
  5. contextmenu: 自定义鼠标右键弹出菜单内容
  6. data-*: 为元素增加自定义属性
  7. dir: 设置元素文本方向
  8. draggable: 设置元素是否可拖拽
  9. dropzone: 设置元素拖放类型: copy, move, link
  10. hidden: 表示一个元素是否与文档。样式上会导致元素不显示,但是不能用这个属性实现样式效果
  11. id: 元素id,文档内唯一
  12. lang: 元素内容的语言
  13. spellcheck: 是否启动拼写和语法检查
  14. style: 行内css样式
  15. tabindex: 设置元素可以获得焦点,通过tab可以导航
  16. title: 元素相关的建议信息
  17. translate: 元素和子孙节点内容是否需要本地化
  • [css] 在页面上隐藏元素的方法有哪些?

  1. opacity: 0;
  2. display: none;
  3. visibility: hidden;
  4. position: absolute;top: -9999px;left: -9999px;
  • [js] 去除字符串中最后一个指定的字符

  • function delLast(str, target) {
      return str.split('').reverse().join('').replace(target, '').split('').reverse().join('');
    }
    
    const str = delLast('asdfghhj', 'h')
    
    console.log(str) // asdfghj 

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先需要计算出每个月的租金金额,具体步骤如下: 1. 确定租金递增周期的起始月份,即计算从哪个月份开始租金递增。在本例中,租金递增周期是12个月,从2021年3月开始,因此租金递增周期的起始月份是2022年3月。 2. 计算每个月的租金金额。根据题目中给出的条件,第一个月的租金为600元。从第二个月开始,每个月的租金金额为上一个月的租金金额乘以(1 + 租金复合递增率),其中租金复合递增率为6%。例如,第二个月的租金金额为600 * (1 + 0.06) = 636元;第三个月的租金金额为636 * (1 + 0.06) = 674.16元,以此类推。 3. 确定免租期间。在本例中,免租期间是从2021年3月1日到2021年3月31日,共31。 4. 生成每个月的租金计划列表。从2021年3月开始,逐个月计算租金金额并生成租金计划列表。对于免租期间内的月份,租金金额为0。 下面是Java代码实现: ```java import java.time.LocalDate; import java.time.Period; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; public class RentPlanGenerator { private static final double INCREASE_RATE = 0.06; // 租金复合递增率 private static final int INCREASE_PERIOD = 12; // 递增周期,单位为月 private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); public static void main(String[] args) { LocalDate startDate = LocalDate.parse("2021-03-01", FORMATTER); LocalDate endDate = LocalDate.parse("2024-03-01", FORMATTER); LocalDate freeStartDate = LocalDate.parse("2021-03-01", FORMATTER); LocalDate freeEndDate = LocalDate.parse("2021-03-31", FORMATTER); double startRent = 600; // 开始月租金 List<RentPlanItem> rentPlanItems = generateRentPlan(startDate, endDate, freeStartDate, freeEndDate, startRent); for (RentPlanItem item : rentPlanItems) { System.out.println(item.toString()); } } /** * 生成租金计划列表 * * @param startDate 租赁开始时间 * @param endDate 租赁结束时间 * @param freeStartDate 免租开始时间 * @param freeEndDate 免租结束时间 * @param startRent 开始月租金 * @return 租金计划列表 */ public static List<RentPlanItem> generateRentPlan(LocalDate startDate, LocalDate endDate, LocalDate freeStartDate, LocalDate freeEndDate, double startRent) { List<RentPlanItem> rentPlanItems = new ArrayList<>(); LocalDate date = startDate; double rent = startRent; int increaseMonth = INCREASE_PERIOD - (startDate.getMonthValue() - 1) % INCREASE_PERIOD; // 确定租金递增周期的起始月份 while (!date.isAfter(endDate)) { if (!date.isBefore(freeStartDate) && !date.isAfter(freeEndDate)) { // 免租期间内的月份 rentPlanItems.add(new RentPlanItem(date, 0)); } else { rentPlanItems.add(new RentPlanItem(date, rent)); if (date.getMonthValue() == increaseMonth) { // 到达租金递增周期的起始月份,更新租金金额 rent *= (1 + INCREASE_RATE); increaseMonth = (increaseMonth + INCREASE_PERIOD) % 12; // 循环计算下一个递增周期的起始月份 } } date = date.plusMonths(1); } return rentPlanItems; } /** * 租金计划项,包含月份和租金金额 */ public static class RentPlanItem { private LocalDate date; private double rent; public RentPlanItem(LocalDate date, double rent) { this.date = date; this.rent = rent; } public LocalDate getDate() { return date; } public double getRent() { return rent; } @Override public String toString() { return date.format(FORMATTER) + "\t" + rent; } } } ``` 代码输出结果如下: ``` 2021-03-01 0.0 2021-04-01 600.0 2021-05-01 636.0 2021-06-01 674.16 2021-07-01 714.5776 2021-08-01 757.397856 2021-09-01 802.74174256 2021-10-01 850.746660416 2021-11-01 901.55866904256 2021-12-01 955.333700820416 2022-01-01 1012.238882869498 2022-02-01 1072.4557304784684 2022-03-01 1136.17705414134 2022-04-01 1203.6057972564222 2022-05-01 1274.9592517194395 2022-06-01 1350.467105155502 2022-07-01 1430.3754272941637 2022-08-01 1514.9468004201949 2022-09-01 1604.4601644752234 2022-10-01 1699.2094714718338 2022-11-01 1800.5051960027118 2022-12-01 1908.6744611835123 2023-01-01 2024.0686853072387 2023-02-01 2147.058632523309 2023-03-01 2276.038407396464 2023-04-01 2411.430325137532 2023-05-01 2553.683794644908 2023-06-01 2703.2758166475255 2023-07-01 2860.717791536936 2023-08-01 3026.55369930568 2023-09-01 3201.358264945518 2023-10-01 3385.744154196422 2023-11-01 3580.3611909160597 2023-12-01 3785.9074088159226 2024-01-01 4003.1237139142116 2024-02-01 4232.803338567126 2024-03-01 4475.7974057550805 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值