前端学习--多益

2023-11-12

  1. 什么是跨域,它主要解决什么问题?
  2. 如果你有8个不同的css样式,整合进网站的最好方式是?

    如果仅需要引入一个CSS文件,则使用连接方式,如果需要引入多个CSS文件,则首先用连接方式引入一个“目录”CSS文件,这个“目录”CSS文件中再使用导入式引入其他CSS文件。
    如果希望用javascript来动态决定引入哪个css文件,则必须使用连接式才能实现。

    链接方式:最能体现CSS特点的方法;最能体现DIV+CSS中的内容与显示分离的思想,也最易改版维护,代码看起来也是最美观的一种。会在装载页面主体部分之前装载css文件,这样显示出来的网页从一开始就是带有样式效果的,
    行间样式:最长见得就是访问量大的门户网站。或者访问量较大的企业网站的首页。与第一种方法比起来,优点突出,弊端也明显。优点:速度快,所有的CSS控制都是针对本页面标签的,没有多余的CSS命令;再者不用外链CSS文件。直接在HTML文档中读取样式。缺点就是改版麻烦些,单个页面显得臃肿,CSS不能被其他HTML引用造成代码量相对较多,维护也麻烦些。
    导入式:会在整个页面装载完成后再装载CSS文件,对于有的浏览器来说,在一些情况下,如果网页文件的体积比较大,则会出现先显示无样式的页面,闪烁一下之后再出现设置样式后的效果,从浏览者的感受来说,这是导入式的一个缺陷。

    问题1.到底link和@import有什么区别?
    我们先来看看他们的定义

    Quote link元素
    HTML和XHTML都有一个结构,它使网页作者可以增加于HTML文档相关的额外信息。这些额外资源可以是样式化信息(CSS)、导航助手、属于另外形式的信息(RSS)、联系信息等等。Quote @import
    指定导入的外部样式表及目标设备类型。其实link和@import的最根本区别就是,link是一个html的一个标签,而@import是css的一个标签,
    link除了调用css外还可以有其他作用譬如声明页面链接属性,声明目录,rss等等,而@import就只能
    调用css。如果单独从外部引用css来说,他们的作用是基本一样,只不过上面的老大不一样而已。:)

    问题2.link和import到底那个更好?
    只能说具体情况具体分析。
    1)我要用javascript进行样式选择;
    这个时候就要用link,因为link是html元素,可用javascript去控制dom元素最后达到改变样式的效果。

    2)应用打印样式;
    打印样式顾名思义就是打印页面时候的样式。
    这个样式在普通浏览下是没有效果的,只有在打印的时候生效。
    如果要为页面单独引用打印样式的话,link和@import都可以的。

    3)引用多个样式;
    如果要在一个页面上引用多个样式组合产生效果的话,link和@import也是都可以的。

    大家似乎都是用的“通过使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度的一半”达到让层垂直居中的效果。

     

    看下面的代码:

    div.innerbox {
        position:absolute;
        top:50%;
        left:50%;
        margin:-100px 0 0 -100px;
        width:200px;
        height:200px;
        border:1px solid red
    }

     

        这样写必须固定浮动层的大小,才能用margin负值一半达到居中的效果,如果在让innerBox相对于一个父级层实现水平垂直居中,只需设置父级层的position:relative定位即可。


  3. 介绍一下你现时的开发环境?
  4. 请列出你知道的图片格式,并分别阐述使用它们的理由
  5. 你有什么业余项目吗?是哪种类型的?
  6. 说说把多个PSD转化成HTML的工作步骤和有什么应该注意的地方?
    事件绑定和普通事件 

    事件绑定

    假设有个对象obj1,用on+event绑定事件如下:

    obj1.onclick=function1;
    obj1.onclick=function2;
    

    这里的onclick是作为obj1的属性绑定事件,function1会被function2覆盖而只执行function2;

    因此取消绑定事件只需:

    obj1.onclick=null;
    

    在支持W3C标准的浏览器中绑定事件用的是addEventListener:

    obj1.addEventListener("click",change1,false);
    obj1.addEventListener("click",change2,false);
    

    事件执行顺序跟绑定顺序一样,先执行change1,再执行change2

    事件取消绑定:

    obj1.removeEventListener("click",change1,false);
    

    另外在IE里面,绑定事件要用attachEvent绑定:

    obj1.attachEvent("onclick",change1);
    obj1.attachEvent("onclick",change2);
    

    事件取消绑定:

    obj1.detachEvent("onclick",change1);
    

    绑定是事件名称同样要以on为前缀,而且没有后面是否冒泡的boolean值,但是这种执行顺序变了,前面那种方法是依次,这种就是倒序,先执行change2,再执行change1.

    要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数。所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称。

    事件绑定

    在JavaScript中,有三种常用的绑定事件的方法:

    1. 在DOM元素中直接绑定;
      <input type="button"value="click me"onclick="hello()">
    2. 在JavaScript代码中绑定;
      document.getElementById( "btn" ).onclick = function (){
        alert( "hello world!" );
      }
      在JavaScript代码中(即script标签内)绑定事件可以使JavaScript代码与HTML标签分离,文档结构清晰,便于管理和开发。
    3. 绑定事件监听函数。
      用 addEventListener() 或 attachEvent() 来绑定事件监听函数。下面详细介绍,事件监听。

    事件监听

    关于事件监听,W3C规范中定义了3个事件阶段,依次是捕获阶段、目标阶段、冒泡阶段。

    起初Netscape制定了JavaScript的一套事件驱动机制(即事件捕获)。随即IE也推出了自己的一套事件驱动机制(即事件冒泡)。最后W3C规范了两种事件机制,分为捕获阶段、目标阶段、冒泡阶段。IE8以前IE一直坚持自己的事件机制(前端人员一直头痛的兼容性问题),IE9以后IE也支持了W3C规范。

    W3C规范

    语法:

    element.addEventListener(event, function, useCapture)

    event : (必需)事件名,支持所有 DOM事件 。

    function:(必需)指定要事件触发时执行的函数。

    useCapture:(可选)指定事件是否在捕获或冒泡阶段执行。true,捕获。false,冒泡。默认false。

    注:IE8以下不支持。

    IE标准

    语法:

    element.attachEvent(event, function)

    event:(必需)事件类型。需加“on“,例如:onclick。

    function:(必需)指定要事件触发时执行的函数。

    事件监听的优点

    1、可以绑定多个事件。常规的事件绑定只执行最后绑定的事件。
    2、可以解除相应的绑定
    btn5.removeEventListener("click",hello2);

    事件委托

    事件委托就是利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果。

    事件委托优点

    1、提高JavaScript性能。

    2、动态的添加DOM元素,不需要因为元素的改动而修改事件绑定。



  7. 你使用哪些工具和技术来调试JavaScript代码?
    firebug,chrome,
  8. 你都使用过哪些前端开发框架?并说说为什么使用它们?
    jQuery框架:
    Bootstrap:
  9. 你是如何快速开展一个新的Web或者mobile项目的?
  10. 熟悉哪个版本管理控制系统?你是如何使用它们的?
    git
  11. 请你用你所知道的JavaScript原生API代替JQuery的id选择器$('#id')。
    call和apply的区别
    Object.call(this,obj1,obj2,obj3)
    Object.apply(this,arguments)
    第一个参数是上下文,如果没有指定上下文则为全局对象;第二个参数是要传递的参数,call是参数序列,apply是包含参数的数组
    关于函数的闭包,继承,原型。

    闭包 是指在 JavaScript 中,内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后
    因为 函数 是 JavaScript 中唯一拥有自身作用域的结构,因此闭包的创建依赖于函数。
  12. 原型 当我们创建一个函数时,其实这个函数也就默认的拥有了一个属性叫做prototype,这个属型叫做原型属性,他是一个指针,指向了这个函数的原型对象,这个原型对象有一个默认的属性叫做constructor,这个属型指向了拥有protptype属型的函数。原型的用处是产生动态的对象和事件处理
    继承  对象冒充、原型方式。js中的继承,是面向对象的知识,因为js没有类的概念,所以继承是通过对象实现的,谈到继承,就必须说到prototype 

    在实际的项目中,我们通常都是用构造函数来创建一个对象,再将一些常用的方法添加到其原型对象上。最后要么直接实例化该对象,要么将它作为父类,再申明一个对象,继承该父类。

    而在继承的时候有两种常用方式


  13. 你是怎么对网站进行优化的?
  14. 请描述一下近期最流行的事件。
  15. 如果今年你打算熟练掌握一项新技术,那会是什么?
  16. 列出一些你经常访问的网站(前端相关)?
  17. 前端方面你看过哪些书,都有什么收获?
  18. 怎么理解前端技术的大趋势?自己再做哪方面的知识储备?
  19. 你用过那些技术(后端)编写过项目或demo?
  20. jQuery on()方法是官方推荐的绑定事件的一个方法。

    $(selector).on(event,childSelector,data,function,map)
    描述一下jQuery中的on(),delegate(),bind(),live()的区别。


    .bind():绑定事件处理函数的最基本方式是使用.bind()方法。它和live()方法一样,接受两个参数:

    .bind(event type, event handler)

    .live():live方法和bind方法的唯一区别在于.live()不仅作用于DOM中当前存在的元素,还作用于将来可能存在(动态生成)的元素


    delegate()方法:为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,
    并规定当这些事件发生时运行的函数。从jQuery 1.7开始,.delegate()已经被.on()方法取代。
    语法:

     $(selector).delegate(childSelector,event type,function)
    参数说明:

    childSelector 必需。规定要附加事件处理程序的一个或多个子元素。

    event 必需。规定附加到元素的一个或多个事件。由空格分隔多个事件值。必须是有效的事件。

    function 必需。规定当事件发生时运行的函数。



  21. react   
    是一个渲染视图的库 

    React 提供了模板语法以及一些函数钩子用于基本的 HTML 渲染。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端学习--多益 的相关文章

  • GIT简单介绍及常用命令

    git是什么 git是目前企业使用最多最流行的 分布式版本 控制系统 分布式版本控制系统 没有中央服务器 每个人的电脑就是一个完整的版本库 工作时候不需要联网 因为版本就在自己的电脑上面 如果多人同时编写修改一个文件的时候 只需要将两者之间
  • BurpSuite的Cluster Bomb模式下使用Runtime File爆破不成功解决办法——路径全英文

    在做Pikachu超级简单的第一题的时候我就跪了 抓到包发现传输的就是没有加密的用户名和密码 就想着直接对两个参数进行爆破 采用笛卡尔积的方法于是就使用Cluster Bomb模式 Positions模块介绍图 我实际抓包设置 随后对两个参
  • java.io.IOException: Connection reset by peer问题解决

    java io IOException Connection reset by peer问题解决 今天检查日志 发现 ClientAbortException java io IOException Connection reset by
  • 封神台——BurpSuite入门(改包、爆破)

    点击传送门进来看到的就是一个很简陋的网站 我们来到一个网站就先注册一下 感受一下全面的服务 一个假网做的还挺完备 点击一个产品 看到他的设计如此之烂 什么也没有居然要价5400 很多购物网站都存在着支付漏洞 于是我们抓个包试试看 首先打开B
  • Struts标签基本知识

    Struts标签基本知识 1 普通标签 控制执行的流程 1 1 控制标签 实现分支 循环等流程控制 if elseif else append generator iterator merge sort subset 1 2 数据标签 输出
  • 【CTF】CTFshow-SQL注入(持续更新)

    CTF CTFshow SQL注入 持续更新 就剩一年的大学时光了 最近也很迷茫 想找实习 又得考托福 又想提前开始毕设 假期前又要上学校安排的实训 马上还又有一门考试 事情一堆 但又感觉整天不知道自己应该做什么 在过完了我给自己安排的两个
  • Web安全公开课-XSS-前端基础

    这节课分两个部分讲 1 HTML概述 2 javascript概述 什么是HTML呢 HTML是种超文本标记语言 英文名字叫 HyperText Markup Language 超级文本标记语言是 种规范 也是一种标准 它通过标记符号来标
  • Upload-labs文件上传漏洞(MIME限制)——Pass02(详解)

    0 00 题目描述 本题要求对数据包中的MIME进行检查 0 01 MIME介绍 所以首先要搞清楚MIME在数据包的哪里 MIME是个什么 关于MIME 由百度百科可知 MIME Multipurpose Internet Mail Ext
  • Bean拷贝组件(注解驱动)方案设计与落地

    一 背景 数据流转在各层之间的过程 应当是改头换面的 字段属性数量 属性名称 一般不变 但也有重构时出现变化的情况 类型名称 普遍变化例如BO VO DTO 对于转换的业务对象 原始的做法时直接实例采用Getter与Setter方法进行逐一
  • Drools规则引擎入门学习记录

    业务开发过程中 对于某些判断性的通用规则是基于if else封装 还是基于策略模式封装 无论以上那种封装出来的方法 只能在单体软件包中共用 且不能无感部署 然而对于业务而言 可能规则改变的比较频繁 例如与营销有关的活动 会频繁的修改商品价格
  • springboot 框架学习 thymeleaf静态模板引擎实现页面跳转

    最近在深啃jvm虚拟机 主要方法是阅读 深入java虚拟机 这本书 写的很形象深入 简单易懂 今天上web课程老师讲到servlet时突然想到boot的页面跳转与数据响应 之前的springmvc在boot中也有集成 但是boot的常用页面
  • SQL注入之报错注入的一些随笔

    0x00 序言 关于报错注入的话虽然我在我之前的文章里面写了一些 但是sql注入的姿势实在是太多了 之前写过的payload不全也不系统 今天抽出时间来总结一下 ps 关于报错注入的原理和使用的基本函数我在我之前的文章 SQLI LABS修
  • 封神台——Cookie伪造目标权限(存储型XSS)

    点击传送门看到的是一个留言板 我们首先要判断是否存在XSS 于是输入一串JS代码 看是否会弹出一个内容为 zkaq 的弹窗 出现了 说明存在XSS漏洞 关于XSS漏洞的科普如下 跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代
  • 浏览器及手机版本型号判断

    Navigator 对象 包含有关浏览器的信息 所有浏览器都支持该对象 对象属性参考 https www w3school com cn jsref dom obj navigator asp 属性 描述 appCodeName 返回浏览器
  • eclipse修改文字显示大小及html乱码修改编码格式

    1 修改字体大小 2 修改编码格式 html文件出现乱码时需要修改编码格式 备注 有时候修改后还会是乱码 重启eclipse即可
  • Upload-labs文件上传漏洞(大小写绕过)——Pass05

    0 00 题目描述 真好把上一题的 htaccess文件也给黑名单限制了 与Pass04做个比较 0 01 源码分析 is upload false msg null if isset POST submit if file exists
  • 前端学习--多益

    什么是跨域 它主要解决什么问题 如果你有8个不同的css样式 整合进网站的最好方式是 如果仅需要引入一个CSS文件 则使用连接方式 如果需要引入多个CSS文件 则首先用连接方式引入一个 目录 CSS文件 这个 目录 CSS文件中再使用导入式
  • 苹果IOS手机设置BurpSuite抓包(详细步骤)

    0 01 添加BP的Proxy Listeners 点击Add添加 端口填写8080 然后选择Specific address 选手机和电脑同时在的那个IP区段 IP具体查询方式使用Win R 输入ipconfig 然后看这个 在Speci
  • Upload-labs文件上传漏洞(空格绕过)——Pass06

    0 00 题目描述 似乎可以使用Pass04文件改写 但是感觉应该不会那么简单 0 01 源码分析 is upload false msg null if isset POST submit if file exists UPLOAD PA
  • png文件格式详解【转】

    5 2 2 PNG图像文件存储结构 1 PNG文件存储结构的格式可以在http www w3 org TR REC png htm上找到定义 BMP文件总体上由两部分组成 分别是PNG文件标志和数据块 chunks 如表5 8所示 其中数据

随机推荐

  • ARM 汇编基础知识

    1 为什么学习汇编 我们在进行嵌入式 Linux 开发的时候是绝对要掌握基本的 ARM 汇编 因为 Cortex A 芯片一 上电 SP 指针还没初始化 C 环境还没准备好 所以肯定不能运行 C 代码 必须先用汇编语言设置好 C 环境 比如
  • 容联云通讯完成发送验证码

    容联云通讯完成发送验证码 不是广告 真人编写 学习记录分享而已 容联云通讯官方网站 https www yuntongxun com 进入网站后 找到测试号码 绑定测试的手机号 最多绑定是三个 第二部 查找相关语言demo 以及SDK 点击
  • 后渗透系列之windows文件下载

    后渗透系列之windows文件下载 不知道你们在进行渗透时会不会遇到这样的问题 在进行后渗透时linux系统是可以使用wget命令进行文件下载的 在真实的渗透环境下往往拿到的都只是windows系统的一个命令行 那windows系统怎么做到
  • CentOS 7.5 离线安装 Nginx 1.18

    CentOS 7 5 离线安装 Nginx 1 18 整体情况介绍 准备阶段 安装步骤 详细步骤 准备 安装 整体情况介绍 操作系统 CentOS 7 5 Nginx版本 nginx 1 18 0 tar gz 说明 1 官网推荐的安装方式
  • opencv 脸部识别开源软件

    转自 http baike baidu com link url La63ZsuqOW1YdyW5UAHQ5zDphzSB58 IcC1SUl2Njit4T0frWPrjflJIuk66RydifpPMBJ50HETrZhr5NrhrU O
  • PyCharm2019.1.1社区版安装(Win10)

    PyCharm2019 1 1安装 Win10 使用Python进行开发时 已经安装好Python 我们可以在终端使用Python 也可以用文本编辑器编写代码后然后用Python执行代码 但这些都不是很方便 也不是很智能和不够友好 需要有多
  • ip 子网数目 网络号 主机号 广播地址 可用IP地址范围

    考试中都会给定一个IP地址和对应的子网掩码 让你计算 1 子网数目 2 网络号 3 主机号 4 广播地址 5 可用IP地址范围 综合实例 已知172 31 128 255 18 试计算 1 子网数目 2 网络号 3 主机号 4 广播地址 5
  • Redis持久化机制:AOF和RDB

    前言 我们都知道Redis操作的数据都来源于内存 所以Redis读写速率极快 那为什么我们还需要用到持久化勒 当我们Redis服务器宕机或者Redis进程被kill或者异常退出的时候 如果没有持久化机制将数据保存到磁盘的化 那么之前保存到R
  • base64编码解码器【C++】

    在线编码解码工具https base64 us 所有结果可以使用上述网站检验 什么是base64编码 base64编码是一种编码方式 用64 1 个字符表示字符 本质是将三位8比特字符扩增为四位8比特字符 但是这么说开始可能很闷逼 给个图
  • postman接口传参案例

    目录 案例1 接口A 接口B 案例2 断言 案例1 接口A 根据返回值需要从返回值中提取userid值 在Tests标签栏下编写脚本 获取返回的响应值 并转化为json格式 var jsonData pm response json 获取返
  • Springboot中管理Spring容器重写工具类进行使用

    说明 SpringUtils 既spring工具类 方便在非spring管理环境中获取bean 在SpringBoot或者SpringMVC框架中 基于Spring进行管理容器以及上下文或者等前置操作等 因此需要实现 BeanFactory
  • Fiddler抓包工具之fiddler设置手机端抓包

    fiddler设置手机端抓包 安卓手机抓包 第一步 配置电脑和安卓的相关设置 1 手机和fiddler位于同一个局域网内 首先从fiddler处获取到ip地址和端口号 点击online 最后一行就是ip地址 2 路径 Tools Optio
  • uni-app跨端开发微信小程序之手把手带你写一个用程序自动打开微信开发者工具的小插件

    摘要 本文通过获取微信开发者工具安装路径 调用shelljs执行vue cli编译命令 fs和path组合来读取编译后的目录 动态修改AppId和title这四个方面入手 一步步带领看官制作一个自动打开微信开发者工具的小插件 完美解决日常多
  • Typora设置修改字体颜色快捷键

    目录 1 typora如何设置修改字体颜色快捷键 2 AutoHotKey软件安装 3 typora关于AutoHotKey的具体操作 1 typora如何设置修改字体颜色快捷键 typora本身是不能直接修改字体颜色的 不过若是想修改还是
  • buck和boost电路

    文章目录 buck和boost电路 1 占空比计算 2 电感值计算 buck和boost电路 归属于DCDC非隔离电源的一部分 最常用的拓扑方式 1 占空比计算 电感两端电压与电流关系 V L d i
  • Windows下编译VTK-9.1.0

    VTK 9编译要点 VTK 9 1 0 src CMake vtkModule cmake 第4075行可以修改Debug的库后缀 VTK 9 2 0 src CMake vtkModule cmake 第4230行可以修改Debug的库后
  • 游戏开发unity打包相关系列:使用IL2CPP时打包windows程序出现Currently selected scripting backend (IL2CPP) is not installed

    安装对应平台需要的构建支持
  • NPN与PNP型传感器的区别

    NPN与PNP型传感器其实就是利用三极管的饱和和截止 输出两种状态 属于开关型传感器 但输出信号是截然相反的 即高电平和低电平 NPN输出是低电平0 PNP输出的是高电平1 沧正称重传感器 NPN与PNP型传感器 开关型 分为六类 1 NP
  • Unity3D开发小贴士(十四)JsonUtility

    Json是现在非常常用的数据格式 因为 Net的版本问题 所有没有很方便的方法可以直接在Unity里面使用C 官方的Json库 于是Unity3D自己提供了自己的一套Json工具 JsonUtility 参考下面的示例 using Unit
  • 前端学习--多益

    什么是跨域 它主要解决什么问题 如果你有8个不同的css样式 整合进网站的最好方式是 如果仅需要引入一个CSS文件 则使用连接方式 如果需要引入多个CSS文件 则首先用连接方式引入一个 目录 CSS文件 这个 目录 CSS文件中再使用导入式