前端技巧知识(二)

一套完整的前端知识地图,告别零散知识点,打通任督二脉 前端工程师是研发体系中的重要岗位之一。可是,与此相对的是,系统性的教学方案几乎找不到。大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。 很多在学习前端,以及工作的前端工程师的困扰: 前端技术的更新如此迅速,在这样的大环境下,前端工程师保持自学能力就显得尤其重要了。因此,“学什么”“怎么学”就是我们要迫切解决的问题。 0 基础入门前端 对于 0 基础入门的同学,我建议你先通过视频,了... 阅读详情

前端技巧知识(二)

(1)在JavaScript的非严格模式下,函数的实参集合与形参变量存在”映射“关系: 不管其中谁改变了,另外一个都会跟着改变

function fn(a) {
// => a = 10
arguments[0] = 1231
// => a = 1231

a = 123
// => arguments[0] = 123
}
fu(10)
//没有返回值  则为 undefined

在JS严格模式下 arguments和形参变量的映射关系被切断了,相互之间没有影响

"use strict"
// 使用严格模式

(2)示例问题

问题描述

以下代码的功能是要实现5个input按钮循环绑定click点击事件,绑定完成后点击1、2、3、4、5五个按钮分别会alert输出0、1、2、3、4五个字符。
问:

  • 如下代码是否能实现?
  • 如果不能实现那么现在的效果是什么样的?
  • 应该怎么修改才能达到我们想要的效果,并说明原理?
<div id="btnBox">
    <input type="button" value="button_1">
    <input type="button" value="button_2">
    <input type="button" value="button_3">
    <input type="button" value="button_4">
    <input type="button" value="button_5">
  </div>
  <script type="text/javascript">
    var btnBox = document.getElementById('btnBox')
    var inputs = btnBox.getElementsByTagName('input')
    var len = inputs.length
    for (var i = 0; i < len; i++) { 
      // => 循环结束 i = 5
      inputs[i].onclick = function () {
        alert(i)
      }
    }
  </script>

上面的代码为什么不行?
所有的事件绑定都是异步编程(绑定的时候方法并没有执行,当触发点击事件,执行方法的时候,循环早就已经结束)

  • 同步:JS中当前这个任务没有完成,下面的任务都不会执行,只有等当前的任务彻底完成,才会执行下面的任务;
  • 异步:JS中当前这个任务没有完成,需要等一会才能完成,此时可以继续执行下面的任务。

解决办法
法一:自定义属性

for (var i = 0; i < len; i++) {
      inputs[i].myIndex = i
      inputs[i].onclick = function () {
        alert(this.myIndex)
      }
    }

法二:闭包

for (var i = 0; i < len; i++) {
      ~function (i) {
        inputs[i].onclick = function () {
        alert(i)
      }
      }(i)
    }

或

for (var i = 0; i < len; i++) {
      inputs[i].onclick = (function (i) {
        return function () {
          alert(i)
        }
      }) (i)
    }
    // 这种方法性能并不是很好

法三: ES6(块级作用域)(let var const 知识)

for (let i = 0; i < len; i++) {
      inputs[i].onclick = function () {
        alert(i)
    }
}
前端面试技巧 9月底秋招结束后,一直玩到今天。这篇博客在9月份就想写来着,可那段时间太忙了,一天最多做过四个笔试,面试三家公司,确实没有精力再写博客了。这篇博客主要针对前端面试高频问题,网上关于前端面试的题目有很多,但是很多题目过于陈旧,并不会被问到。以下内容是我亲身经历面试时经常被问到的点和如何回答的,希望给以后找工作的同学一点参考。在此也要感谢慕课网的《前端跳槽面试必备技巧》这门课程,如果有兴趣的同学可以... 阅读详情

相关推荐

专题 前端面试知识梳理大全

本文是一份前端面试知识梳理大全,旨在系统化整理不同层级前端工程师的面试要点。内容涵盖初级(1-2年)、中级(3-5年)和高级(5年以上)工程师的面试题目,并按题型和技术栈分类。 文章详细解析了JavaScript核心概念,包括数据类型检测(7种基本类型和对象类型)、闭包的定义与典型应用场景(模块化、柯里化、防抖节流等)、以及原型和原型链机制。每个知识点都配有标准答案、代码示例和扩展要点,并标注了难度和面试频率。 该资源适用于准备阿里、腾讯、字节等一线互联网公司面试,将持续更新最新技术趋势和面试题目,帮助开发

pandabanya的博客 961

点击事件及按钮事件。

事件源 事件名 事件注册 事件处理 点击事件 (1)单击事件 在这个案例中,事件源是id为“p1”的元素,事件名是单击事件注册οnclick=“fun()”, 也就是说,当单击id为“p1”的元素时,交给fun函数来处理。 (2)双击事件 (3)鼠标按下/抬起。(on mouse down / on mouse up) (4)鼠标移入移出(on mouse enter / on mouse leave) (5)事件综合 <!DOCTYPE html> <html> <

weixin_45617334的博客 3987

web 前端知识体系

引言 本文章对整个web体系进行博客导引,便于查找对应知识(如果知识我的博客体系中有遗漏知识还请在评论区留言指出,希望与大家共同进步)。 web前端 HTML 结构与简单的标签基础 HTML input典型应用 ...

流楚丶格念的博客 5588

JS核心知识点梳理——闭包

闭包 闭包这个东西咋说呢,不同的程序员,不同的资料都有不同的解释,你可以把它理解成一个函数,也可以把它理解函数+执行环境。 我们这里不纠结闭包的定义,而是关注闭包的现象,应用,再结合相关面试题去攻克它,最后谈一下我对闭包的理解。 现象 之前说过,函数执行,生成执行环境,函数执行完,销毁执行环境。嗯,听上去很正常,不用的东西就销毁嘛。 但是如果函数执行完,该函数上下文还用怎么办,...

weixin_30410999的博客 169

前端领域的前端布局技巧分享

前端布局是网页设计中至关重要的环节,它直接影响着用户体验和页面的视觉效果。本文的目的在于全面分享前端领域中常见且实用的布局技巧,涵盖从基础的布局概念到高级的响应式布局和网格布局等内容。范围包括对各种布局技术的原理讲解、实际操作步骤、代码示例以及应用场景分析,旨在帮助前端开发者提升布局能力,打造出更加美观、易用的网页。本文将按照以下结构进行组织:首先介绍前端布局的背景知识,包括目的、读者群体和文档结构等;接着深入讲解核心概念和它们之间的联系,并通过示意图和流程图展示;

AI架构全栈开发实战笔记 2034

箱式连续提升机

箱式连续提升机,是对具有高度差较大(>1500mm)的输送线之间进行连接,将箱式物资进行连续输送的提升(或下降)的输送设备,可根据输送线的具体输送要求作相应的参数设计。目前的箱式连续提升机种类比较多,常用的形式主要有Z型和C型,工作原理相同,只是入口和出口分别在两侧和同侧。

月生沧溟 1251

JS中的闭包及面向对象编程 — 3、案例练习&面试题解析

1、面试题讲解(闭包练习) 建议大家每一道题都要画图(尤其是复杂些的题目),画图过程能让我们把基础知识掌握的更加扎实,而且更加有效的算出正确的答案 先自己计算,都完成后再开始测试答案,千万不要直接输出看答案,这样就没有意义了 一、选择题 1、 console.log(a); var a = 12; function fn(){ console.log(a); var a = 13;...

weixin_34178244的博客 2483

告别重启烦恼:用WSL2让Docker和VMware在Win10上真正共存

本文详细介绍了如何在Windows 10系统上,借助WSL2实现Docker与VMware的真正共存,彻底告别以往需要反复重启切换的烦恼。通过启用Hyper-V兼容模式并进行正确配置,开发者无需重启即可同时高效运行容器和虚拟机,显著提升开发与测试工作流的连续性和效率。

salt9的博客 988

知识篇:(二)vue前端开发中的最佳实践与性能优化的10个技巧含方案

通过压缩和合并CSS和JavaScript文件,减少文件的数量和大小,以提高页面加载速度。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1880

STM32F407硬件IIC驱动OLED避坑实录:从‘不显示’到‘稳定刷屏’的完整调试过程

本文详细记录了使用STM32F407硬件IIC驱动OLED屏幕的完整调试过程,从初始的‘不显示’问题到最终实现‘稳定刷屏’。文章涵盖了硬件接线、I2C外设配置、常见问题排查及性能优化技巧,特别针对STM32标准库开发中的难点提供了实用解决方案,是嵌入式开发者驱动OLED屏幕的实用指南。

weixin_30315723的博客 304

【大模型推理】工作负载的弹性伸缩

推荐采用 并发请求数(Concurrency) 或 队列深度(Queue Size) 结合GPU监控指标(显存/算力利用率),并依托Knative KPA、Fluid缓存、优先级调度等技术实现高效弹性伸缩[citation:6][citation:7][citation:8]。QPS无法体现这种资源消耗累积效应[citation:6]。并发数的本质:是实时反映资源占用的瞬时状态量,而非速率指标,尤其适合单次请求资源消耗大、处理时间长的业务(如LLM推理)[citation:1][citation:6]。

王尚权 qq:2515162716 1185

html项目经验,web前端没有项目经验怎么面试

web前端没有项目经验面试的方法:1、要熟练掌握前端的基本知识;2、了解目前基础框架的使用;3、熟练掌握基础知识的使用技巧;4、要表现出良好的学习方法和心态。近年来,随着前端的火热,很多人都纷纷加入到前端工作当中,然而一些前端学员不知道去进行面试,下面我们来总结一下前端没有项目经验空白怎么应对面试?有哪些技巧以学。技巧一:基本的前端基础知识如果你打算面试前端,我们一定要熟练掌握前端的基本知识,等一...

weixin_33610261的博客 1660

[V-10]ARMv8/v9-CPU Virtualization-CPU虚拟化架构简介(vCPU/vPE)

本文简要介绍了CPU虚拟化架构的基础知识。

基层架构师的分享 1267

年底了,给想进阶的的前端朋友一些福利

2020 年,很多朋友都经历了一段比较艰难的求职季。年末,“就业寒冬”迎来了一丝暖阳,很多中大型互联网公司扩大了未来一年的招聘需求。前不久,字节跳动放出了年末要招 1 万人的消息,腾讯校...

u012384510的博客 216

从 Junior 到 Lead:ABAP 开发者进阶路线图与真实项目练级法

本文拆解了ABAP工程师从初级到高级的成长路径,强调能力提升依赖于可复用经验的积累。对于初级开发者,建议夯实ABAP Dictionary、内表处理和数据库思维三大基础,培养数据流与规则层的结构化思维,并逐步掌握面向对象编程。中级阶段应注重代码可维护性,通过单元测试和Clean ABAP规范提升工程质量。文章指出,ABAP开发者需要学会筛选学习重点,建立知识地图,并重视团队协作中的代码可读性。关键在于将碎片知识整合为可迁移的模型,而非盲目追求新技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 177

SAP Business Technology Platform 支持的技术栈

SAP Business Technology Platform(简称 BTP)是 SAP 提供的一个综合技术平台,旨在帮助企业实现业务转型和创新。BTP 融合了数据库管理、应用开发、集成、分析和智能技术,为企业提供从基础架构到端到端应用的全面服务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1568

我的web前端面试经历————百度

写在前面的话 博主就读于电子科技大学,大三狗一枚! 面试是个漫长的过程,从海投到收获电话面试,一面、二面、三面,一个步骤出错那么后面就宣告终结。同时,面试过程中你也可能会遇到一些面试官的刁难,甚至部分面试官会说些比较打击你的话,但是大部分面试官都是很棒的! 面试前的准备 基础知识 ...

chuocui9077的博客 103

2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

针对YOLO26模型改进痛点,本专栏整理200+实战验证方法,覆盖卷积层、注意力机制等核心模块。 每种方法含原理、性能分析、改进路径及实操流程,代码可直接运行,快速提升模型效果,性价比超高。

魔改工程师的博客 1万+

这些鲜为人知的前端冷知识,你都GET了吗?

背景 最近公司项目不多,比较清闲,划水摸鱼混迹于各大技术博客平台,瞬间又GET了好多前端技能,一些属于技巧,一些则是闻所未闻的冷知识,一时间还消化不过来,不由的发出一声感叹! 前端可真是博大精深 于是突发奇想,现分类整理出来分享给大家,也补充了一些平时的积累和扩展了一些内容,俗话说,独乐乐不如众乐乐,大家一起来接受前端的洗礼吧!!! 论被玩坏了的前端 HTML篇 浏览器地址栏运行JavaScript代码 这个很多人应该还是知道的,在浏览器地址栏可以直接运行JavaScript代码,做法是以javas

公众号【猴哥说前端】 2325

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

前端知识点或技巧总结

今天来总结一下前端的一下知识或技巧等问题: 1、 常用的清除浮动的方法: clear:both; 2、 隐藏多余部分:  overflow:hidden; 3、button 按钮圆角边框实现:  border-radius: 15px; 4、 背景色透明度:  opacity:0.8;  5、 浏览器窗口大小改变防止div或其他元素布局方式错位,可以设置其最小宽度、最小高度,或

xuanjiewu的专栏 471

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

前端工程师有哪些面试技巧值得掌握?

这段时间受到疫情的影响,本身做java开发的,面试了入职了一个外包公司的前端岗位,入职属于驻场开发的那种,前几周基本没啥事,一般经理会让你刷题,到了驻场那边需要机试过关才能在那边开发,这边...

孙叫兽的博客 989

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

前端面试技巧与实践

前端面试技巧与实践

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 6378

学前端需要什么基础知识(前端需要掌握什么 )

学前端需要什么基础知识 前端开发因为其上手快,开发难度适中,而应用非常广泛,成为目前大部分想进入IT行业的年轻人的首选。目前前端开发岗位人员主要分类三类:高校毕业生,培训生,自学人士三大类。今天主要和大家一起来探讨一下,自学前端需要掌握哪些知识点。 相对于高校毕业生以及培训生而言,自学容易产生迷茫的情绪。因为前两者都是老师准备了具体的课程大纲和学习路线,采用教学的方式传授给学生,而自学包括知识点整理、学习方法培养、学习路线研究等等都需要自己一点一点的研究。 学习web前端开发,到底要掌握哪些技术知识点呢?

juzilvpai的博客 7189

前端知识点总结二

日常总结

FYH......的博客 302
上一篇: 前端技巧知识(一)
下一篇: IT小白面试技巧——从实习到工作都适用
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值