找工作第一弹——三件套基础巩固

news2024/12/25 12:25:32

目录

  • 前言
  • HTML篇
    • 表格结构
    • a的两种打开方式
    • 自定义列表
    • 单选,多选
    • 音视频标签
  • CSS篇
    • 伪元素
    • 清楚浮动
    • 固定定位fixed
    • em
    • CSS三角
  • JS细节篇
    • 原型链
    • 字符串拼接的方法
    • 递归
  • JS内置对象
    • sort的升序和降序
    • 字符串大写和小写
    • Objects对象的方法
    • date的用法
    • 数字取整
    • 数组的最大值与最小值
  • Web API
    • 动态添加元素
    • 阻止冒泡
    • window对象获取

前言

由于边投简历边准备笔试面试,收到笔试信息既欣喜又突兀,想着怎么也拿下笔试。下面记录我这两天为笔试准备的刷题。

本篇文章基于牛客网面试刷题查漏补缺。

HTML篇

HTML篇笔试题主要是对标签的应用。

表格结构

table的主要结构有两个,一个是作为标题的caption标签,还有一个是作为身子的thead。

内部是tr,td。(行,列)

控制行列的是,col,rol。

a的两种打开方式

链接的打开方式设置的属性为target。

只需要记住两种:
_blank:在新窗口打开链接;
_self:在当前窗口打开链接。

自定义列表

自定义列表dl,dd,dt。

dl是定义列表,dd定义术语(小标题),dt定义描述。

这三个要单独记一下。

单选,多选

单选多选均是input,区别在于type,单选type值为radio,多选type值为checkbox。name用于分组,checked用于设置是否被选中。

音视频标签

音频是audio,其中controls是音频控件;

视频是video,controls是视频空间,onerror后面接的函数是报错信息。

CSS篇

伪元素

CSS 在渲染文档的时候,伪元素可以通过 css 给 HTML 添加一个元素(叫标签也行),这个元素在文档树中是找不到的。伪元素被当做 CSS 的样式来进行展现,用法和普通的元素用法是一样的。

需要注意的是:默认inline(设置大小要修改),必须有content。

类型主要两种:div::after,div::before。

清楚浮动

为什么要清楚浮动?

一个盒子里面有多个子盒子,子盒子设置浮动,父盒子没有设置,会导致父盒子高度塌陷。

解决方式:
1.给父盒子设置高度(不推荐);
2.给父盒子后面添加一个标签,但是必须是块级元素,给该标签添加clear属性;
3.给父盒子添加oveflow:hidden属性;
4.添加after伪元素。元素css如下:

.father::after {
	content: '',
	display: block;
	clear: both;
	visibility: hidden;//相当于display: none
	*zoom: 1;//IE6,7专有,兼容性
}

固定定位fixed

以浏览器为可视化窗口、跟父元素没有关系、不随滚动条滚动。

脱标、(特殊的绝对定位)

em

em以font-size为标准,4em就是文字大小的四倍。

CSS三角

很简单,给边框设置大小,每个边框都可以选择颜色。

想要哪个突出出来颜色变成透明就好了。

JS细节篇

原型链

以一个题目为例子:

请补全JavaScript函数,要求以Boolean的形式返回第一个参数是否属于第二个参数对象的实例。
function _instanceof(left,right) {
    // 补全代码
    
}

第一个参数如果是第二个参数的实例对象,那么根据原型链:
在这里插入图片描述
构造函数的原型对象可以指向构造函数。

我们就可以来书写代码:

function _instanceof(left,right) {
    // 补全代码
    while(left.__proto__) {
        if(left.__proto__.contrustor = right) {
            return true;
        }
        left = left.__proto__;
    }
    return false;
}

字符串拼接的方法

方法一:+号连接;
方法二:模板字符串,``配合${}使用;
方法三:join()方法;
方法四:concat()方法;

递归

这里说的是一个递归算法。以简单的阶乘为例子,比如我要求一个数的阶乘,有很多种办法,比较简单的就是递归:

function _factorial(number) {
    // 补全代码
    if(number < 2) return 1;
    return number * _factorial(number - 1)
}

JS内置对象

sort的升序和降序

首先要说的,sort是会改变原数组的。

arr.sort本身是升序排序,如果要降序:

arr.sort((a, b) => {b - a})

字符串大写和小写

大写:tuUppercase;
小写:toLowercase。

Objects对象的方法

Object.keys(obj):遍历属性名称;
Object.value(obj):遍历键值;
Object.entries(obj):方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对数组

date的用法

function _date(number) {
    // 补全代码
    var date = new Date(number);
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var day = date.getDate()
    return year + '-' + month + '-' + day
}

定义对象,获取年,月,日,注意月份要加一。这是唯一需要注意的。

数字取整

Math.floor(value):向下取一个整数
Math.round(value):返回一个四舍五入的值
Math.trunc(value):直接去除小数点后面的值

数组的最大值与最小值

Math对象,要用到数组的展开符:

Math.max(...arr)
Math.min(...arr)

Web API

动态添加元素

请补全JavaScript函数,根据参数数组创建li元素。
要求:
1. li元素的个数和数组的长度一样
2. li元素的内容是数组中的每个元素
3. 将创建的所有li元素插入到ul中

做法:

<html>
    <head>
        <meta charset=utf-8>
    </head>
    <body>
        <ul></ul>
    </body>
    <script type="text/javascript">
        function createLi(array){
            // 补全代码;
            var ul = document.querySelector('ul');
            for(var i = 0; i < array.length; i++) {
                var li = document.createElement('li')
                li.innerHTML += array[i]
                ul.appendChild(li)
            }
        }
    </script>
</html>

先获取ul,再通过createElement创建元素,在元素中添加内容,最后再通过appendChild放入内容。

阻止冒泡

event.stopPropagation()方法:阻止冒泡;

event.preventDefault()方法:阻止默认事件;

return false:阻止冒泡和默认事件。

window对象获取

window.location.href 返回当前页面的 href (URL)
window.location.hostname 返回 web 主机的域名
window.location.pathname 返回当前页面的路径或文件名
window.location.protocol 返回使用的 web 协议(http: 或 https:)
window.location.assign 加载新文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/628281.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS中使用VLP16激光雷达获取点云数据

ROS中使用VLP16激光雷达获取点云数据 个人博客地址 本文测试环境为&#xff1a;Ubuntu20.04 ROS Noetic 需要将激光雷达与PC连接&#xff0c;然后在设置>网络>有线中将IPv4改为手动&#xff0c;并且地址为192.168.1.100&#xff0c;子网掩码为255.255.255.0&#xff0c…

leetcode61. 旋转链表(java)

旋转链表 leetcode61. 旋转链表题目描述 解题思路代码演示链表专题 leetcode61. 旋转链表 Leetcode链接&#xff1a; https://leetcode.cn/problems/rotate-list/ 题目描述 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例…

浅析 xml 数据格式文件

浅析 xml 数据格式文件 xml ( Extensible Markup Language ) 全称 -> 可拓展的标记语言&#xff1b; xml文件的主要用途&#xff1a;xml文件主要用于数据的 传输 和 存储&#xff0c;并不是展示&#xff1b; xml标签与html的区别&#xff1a;节点的标签使用方式和 html 十分…

【产品经理】企业的产品增长之路

英特尔前CEO安迪格鲁夫有本书叫做《Only the Paranoid Survive》&#xff0c;全文的中心思想是警示他人&#xff0c;要居安思危&#xff0c;唯有打破常规&#xff0c;不拘泥于现状才能生存。 一、为何企业都在关注增长&#xff1f; 1. 诺基亚的贱卖 13年市值曾位居全球上市公…

HNU-操作系统OS-作业1(4-9章)

这份文件是OS_homework_1 by计科2102 wolf 202108010XXX 文档设置了目录,可以通过目录快速跳转至答案部分。 第四章 4.1用以下标志运行程序:./process-run.py -l 5:100,5:100。CPU 利用率(CPU 使用时间的百分比)应该是多少?为什么你知道这一点?利用 -c 标记查看你…

Spring中如何获取Bean方法上的自定义注解

文章目录 背景描述场景复现问题追踪解决方案扩展思考 背景描述 项目中需要扫描出来所有 标注了自定义注解A的Service里面标注了自定义注解B的方法 来做后续处理。 基本的思路就是通过Spring提供的ApplicationContext#getBeansWithAnnotation反射 来实现。 但是&#xff0c;随…

【Spring】核心与设计思想

哈喽&#xff0c;哈喽&#xff0c;大家好~ 我是你们的老朋友&#xff1a;保护小周ღ 谈起Java 圈子里的框架&#xff0c;最年长最耀眼的莫过于 Spring 框架啦&#xff0c;如今已成为最流行、最广泛使用的Java开发框架之一。不知道大家有没有在使用 Spring 框架的时候思考过这…

11111111111

def cosine_similarity(vector_a, vector_b): “”" 计算两个向量之间的余弦相似度 :param vector_a: 向量 a :param vector_b: 向量 b :return: distance “”" vector_a np.mat(vector_a) vector_b np.mat(vector_b) num float(vector_a * vector_b.T) denom n…

华为OD机试真题 Java 实现【预定酒店】【2022Q4 100分】

一、题目描述 放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的 数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店 (n>=k>0) ,并由低到高打印酒店的价格。 二、输入描述 第一行: n,k,x 第二行: A[o] A[1] A[2]…A[n-1] 三…

djiango orm简单实现增删改查

目录 一、配置数据库1.1 在settings.py文件中找到DATABASES &#xff0c;配置数据库连接&#xff0c;这里用的是mysql 二、切换操作数据库的模块三、 创建一个app并注册3.1创建一个app3.2 注册app 三、在app1定义模型类四、迁移数据库&#xff0c;使用以下命令&#xff0c;生成…

Android修改aar并重新打包

目录 一.修改 aar 需要用到的工具&#xff08;就一个工具&#xff0c;使用方式非常简单&#xff0c;别担心&#xff09; 二.修改 aar 代码层业务逻辑 三.修改 aar layout 布局文件 四.附上recyclerview aar修改工程源码 一.修改 aar 需要用到的工具&#xff08;就一个工具&…

MKS SERVO4257D 闭环步进电机_系列8 CAN通讯示例

第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口&#xff0c;支持MODBUS-RTU通讯协议&#xff0c;内置高效FOC矢量算法&#xff0c;采用高精度编码器&#xff0c;通过位置反馈&a…

AD19操作注意事项及信息

直接在PCB编辑界面添加差分对&#xff08;差分布线&#xff09; 1.PCB边界界面Panels菜单调出PCB界面 2.选择框中信息&#xff0c;点击添加差分对即可&#xff0c;然后利用交互式差分对布线命令进行布线操作。&#xff08;前提设置好差分布线规则&#xff09; 过孔&#xff1a…

7年经验之谈 —— 如何进行渗透测试以提高软件安全性?

对于各种规模的企业和组织来说&#xff0c;软件安全是一个至关重要的问题。随着网络攻击越来越复杂&#xff0c;软件中的漏洞越来越多&#xff0c;确保你的软件安全比以往任何时候都更重要。提高软件安全性的一个有效方法是渗透测试&#xff08;penetration testing&#xff09…

6月9号软件资讯更新合集....

Vivaldi 6.1 发布&#xff0c;可绕过微软限制使用 Bing Chat 最新版本的 Vivaldi 可在桌面端伪装成 Edge&#xff0c;使其用户受益&#xff0c;并为工作空间和标签增加了更多的功能。 支持微软 Bing Chat Vivaldi 是建立在 Chromium 开源项目之上的。它与 Edge 和 Chrome 使用…

Android kotlin序列化之Parcelable详解与使用(二)

一、介绍 注解序列化篇&#xff1a;Android kotlin序列化之Parcelize详解与使用_蜗牛、Z的博客-CSDN博客 通过上一篇注解序列化&#xff0c;我们已了解的kotlin的序列化比Java复杂了很多。而且有好多问题&#xff0c;注解虽好&#xff0c;但是存在一些问题。 一般在大型商业…

【Flutter】如何更改 Flutter 应用的启动图标

文章目录 一、前言二、什么是启动图标三、为什么我们需要更改启动图标四、如何更改启动图标五、注意事项六、总结 一、前言 欢迎来到 Flutter 的世界&#xff01;在这篇文章中&#xff0c;我们将探索 Flutter 的一些基础知识。但是&#xff0c;你知道吗&#xff1f;这只是冰山…

爬虫一般怎么解决加密问题?

① 对于网页端来说通常加密的算法是写在 js 代码里的&#xff0c;所以首先你要对 js 语言有所了解。 至少知道 js 基础的内容&#xff0c;其次找到对应 js 加密代码&#xff0c;然后找出关键的函数。 把 js 代码在 node.js 环境进行调试&#xff0c;最后在 Python 环境下利用…

Goby 漏洞发布|maxView Storage Manager 系统 dynamiccontent.properties.xhtml 远程代码执行漏洞

漏洞名称&#xff1a;maxView Storage Manager 系统 dynamiccontent.properties.xhtml 远程代码执行漏洞 English Name&#xff1a;maxView Storage Manager dynamiccontent.properties.xhtml RCE CVSS core: 9.8 影响资产数&#xff1a;1465 漏洞描述&#xff1a; maxVie…

C++debug-centos-ubuntu-vscode

1.centos下安装VSCODE 在linux系统(centOS7)中安装VSCode(Visual Studio Code)_centos vscode安装_沈醉不知的博客-CSDN博客 pacman -S code2.ubuntu下安装VSCODE 与windows下一样。 3.windows 调试 下载安装vscode cmake https://cmake.org/download GDB:UNIX及UNIX-…