当前位置: 首页 > news >正文

常州网站建设方案托管/合肥seo网站排名

常州网站建设方案托管,合肥seo网站排名,2022成人电脑培训费用,网站建设运作流程前端常用函数 前端常用函数一、字符串处理函数二、数组处理函数三、事件处理函数四、DOM操作函数五、防抖节流**防抖函数(Debounce Function)**:**节流函数(Throttle Function)**: 六、时间 前端常用函数 …

前端常用函数

  • 前端常用函数
    • 一、字符串处理函数
    • 二、数组处理函数
    • 三、事件处理函数
    • 四、DOM操作函数
    • 五、防抖节流
      • **防抖函数(Debounce Function)**:
      • **节流函数(Throttle Function)**:
    • 六、时间

前端常用函数

在前端开发中有许多除拷贝之外常见的函数,以下是一些分类介绍:

在前端开发中有许多除拷贝之外常见的函数,以下是一些分类介绍:

一、字符串处理函数

  1. substring()
    • 功能:用于提取字符串中的一部分。它接受两个参数,起始索引(包含)和结束索引(不包含)。例如,let str = "Hello World"; let sub = str.substring(0, 5);,这里sub的值为"Hello"
    • 应用场景:在处理用户输入的文本,如截取用户名的前几个字符用于显示缩略信息,或者从一段长文本中提取需要的部分内容。
  2. split()
    • 功能:将一个字符串按照指定的分隔符拆分成一个数组。例如,let str = "apple,banana,orange"; let fruits = str.split(",");,此时fruits是一个包含["apple", "banana", "orange"]的数组。
    • 应用场景:常用于处理以特定格式(如CSV文件内容)存储的数据,将其分解为单个的数据项以便进一步处理,如数据的遍历和展示。
  3. replace()
    • 功能:用于在字符串中用一些字符替换另一些字符。它可以接受一个字符串或者一个正则表达式作为第一个参数来匹配要替换的内容,第二个参数是替换后的内容。例如,let str = "Hello World"; let newStr = str.replace("World", "Universe");newStr的值为"Hello Universe"
    • 应用场景:在文本编辑应用中,用于实时替换用户输入的文本内容中的某些字词,或者在处理从后端获取的数据时,对不符合前端显示要求的文本进行修正。

二、数组处理函数

  1. map()
    • 功能:对数组中的每个元素进行操作,并返回一个新的数组,新数组的元素是操作后的结果。例如,let numbers = [1, 2, 3]; let doubled = numbers.map((num) => num * 2);doubled的值为[2, 4, 6]
    • 应用场景:在数据展示中,将原始数据进行格式转换,如将一组以厘米为单位的长度数据转换为以英寸为单位的数据用于显示。
  2. filter()
    • 功能:用于筛选数组中的元素,返回一个新的数组,其中包含满足指定条件的元素。例如,let numbers = [1, 2, 3, 4, 5]; let evenNumbers = numbers.filter((num) => num % 2 === 0);evenNumbers的值为[2, 4]
    • 应用场景:在处理用户列表时,筛选出符合特定条件(如活跃用户、高级会员用户等)的用户信息进行单独展示。
  3. reduce()
    • 功能:对数组中的所有元素进行累积计算,返回一个最终的值。例如,let numbers = [1, 2, 3, 4, 5]; let sum = numbers.reduce((acc, cur) => acc + cur, 0);sum的值为15
    • 应用场景:在计算购物车中商品的总价,或者统计一组数据的平均值等场景中使用。

三、事件处理函数

  1. addEventListener()
    • 功能:用于在DOM(文档对象模型)元素上添加事件监听器。它接受事件类型(如"click""mouseover"等)和事件处理函数作为参数。例如,let button = document.getElementById("myButton"); button.addEventListener("click", function() { console.log("Button clicked"); });
    • 应用场景:在网页中响应用户的交互操作,如按钮点击、鼠标移动等,实现动态交互效果,如展开/折叠菜单、显示/隐藏元素等。

四、DOM操作函数

  1. document.createElement()
    • 功能:用于在文档中创建一个新的HTML元素。例如,let newDiv = document.createElement("div"); newDiv.textContent = "This is a new div";,创建了一个新的div元素并设置了其文本内容。
    • 应用场景:在动态生成页面内容时使用,如根据用户的操作动态添加新的列表项、表格行或者整个模块等。
  2. appendChild()
    • 功能:将一个节点添加到指定父节点的子节点列表的末尾。例如,let parent = document.getElementById("parentDiv"); let child = document.createElement("p"); parent.appendChild(child);,将新创建的p元素添加到idparentDiv的元素内部。
    • 应用场景:用于构建页面的布局结构,如在一个容器元素中添加多个子元素,像在导航栏中添加菜单项,或者在图片库中添加新的图片元素等。

五、防抖节流

防抖函数(Debounce Function)

以下是一个使用 JavaScript 实现的防抖函数的示例:

function debounce(func, delay) {let timer;return function(...args) {clearTimeout(timer);timer = setTimeout(() => {func.apply(this, args);}, delay);};
}

代码解释和使用说明

  1. debounce函数的定义
    • 这个函数接受两个参数:func 是要执行的原函数,delay 是延迟的时间(以毫秒为单位)。
    • 它内部使用了一个 timer 变量,用于存储 setTimeout 的返回值,以便后续进行清除操作。
  2. 返回的匿名函数
    • 当调用 debounce 函数返回的匿名函数时,首先使用 clearTimeout(timer) 清除之前设置的定时器。
    • 然后使用 setTimeout 创建一个新的定时器,在 delay 毫秒后调用 func 函数。
    • func.apply(this, args) 确保 func 函数在原有的上下文环境中运行,并且使用传入的 args 作为参数。

使用示例

function handleResize() {console.log('Window resized');
}const debouncedResize = debounce(handleResize, 300);window.addEventListener('resize', debouncedResize);

在上述示例中,当调用 debouncedResize 函数时,如果在 300 毫秒内再次调用,之前的定时器会被清除,新的定时器会被设置。这样可以避免 handleResize 函数在短时间内被多次触发,只有在最后一次调用后的 300 毫秒没有新的调用时,handleResize 函数才会执行。

应用场景

  • 滚动事件处理:在滚动事件中,可能会频繁触发事件处理函数,使用防抖函数可以避免频繁执行性能消耗大的操作,如复杂的计算、网络请求等。
  • 输入框输入事件处理:在输入框中输入内容时,可能会不断触发 input 事件,使用防抖函数可以避免在用户输入过程中频繁发送请求,只在用户输入暂停一段时间后发送请求。

节流函数(Throttle Function)

以下是一个使用 JavaScript 实现的节流函数的示例:

function throttle(func, limit) {let inThrottle;return function(...args) {if (!inThrottle) {func.apply(this, args);inThrottle = true;setTimeout(() => {inThrottle = false;}, limit);}};
}

代码解释和使用说明

  1. throttle函数的定义
    • 该函数接受 func(要执行的原函数)和 limit(时间限制,以毫秒为单位)作为参数。
    • inThrottle 是一个标志变量,用于表示是否在节流状态。
  2. 返回的匿名函数
    • 当调用 throttle 函数返回的匿名函数时,如果 inThrottlefalse,说明不在节流状态,此时会调用 func 函数,并且将 inThrottle 设为 true
    • 同时设置一个 setTimeout,在 limit 毫秒后将 inThrottle 设为 false,允许再次调用 func 函数。

使用示例

function handleScroll() {console.log('Scrolled');
}const throttledScroll = throttle(handleScroll, 200);window.addEventListener('scroll', throttledScroll);

在上述示例中,handleScroll 函数在 200 毫秒内只会执行一次,即使 scroll 事件多次触发,也会被节流,避免了频繁执行。

应用场景

  • 鼠标移动事件处理:在鼠标移动事件中,使用节流函数可以减少事件处理函数的执行频率,例如在实现拖拽功能时,减少频繁的位置更新计算。
  • 滚动事件处理:类似于防抖函数,但节流函数会按一定的时间间隔执行,而不是等待用户停止操作后执行。

这两种函数可以有效地优化前端性能,特别是在处理频繁触发的事件时,可以避免不必要的性能开销。

六、时间

  1. 12 小时制的显示问题(带有 AM/PM)
    • 应用场景:如果要按照 12 小时制来显示时间并且区分上午和下午
    • 代码
function divideDayWith12HourFormat() {let date = new Date();let year = date.getFullYear();let month = date.getMonth() + 1;let day = date.getDate();let hours = date.getHours();let minutes = date.getMinutes();let seconds = date.getSeconds();let amPm = hours >= 12? 'PM' : 'AM';hours = hours % 12;hours = hours === 0? 12 : hours;console.log(`${year}-${month}-${day} ${hours}:${minutes}:${seconds} ${amPm}`);if (amPm === 'AM') {console.log("上午");} else {console.log("下午");}
}
divideDayWith12HourFormat();
http://www.whsansanxincailiao.cn/news/32006208.html

相关文章:

  • 九江做网站哪家便宜/电商平台链接怎么弄
  • 网上注册公司步骤/优化网站教程
  • 广州建站网站前十名/广东广州网点快速网站建设
  • 网站建设数据库系统/纵横seo
  • 中国3大做外贸的网站/东莞seo建站优化工具
  • 什么样的公司愿意做网站/爱站网seo综合查询
  • 宁波网络推广平台/系统优化大师
  • 烟台网站建设ytwzjs/开通网站需要多少钱
  • png素材网站/推广平台app
  • 微信三级分销系统/网站搜索排优化怎么做
  • b2b电子商务网站的收益模式主要有/百度推广怎么赚钱
  • 网站制作什么品牌好/东莞网络推广哪家公司奿
  • 哪个网站可以做化学实验/网络营销的优缺点
  • 电影网站嵌入广告怎么做Java/营销软文怎么写
  • 403.14网站/网络推广公司是做什么的
  • 网站开发软件培训/如何做网站优化seo
  • 网站建设的/西安做网站哪家好
  • 互联网工具型网站/提高网站排名的软件
  • 网站做图片的大小/百度seo还有前景吗
  • 国家政府网站/网站设计公司上海
  • 派设计包装设计网站/下载安装百度一下
  • 做网站付多少定金/百度竞价推广登陆
  • 网络专题策划方案/seo快排
  • 网站标题怎么隔开/网推什么平台好用
  • 济南建设设备安装有限责任公司官网/郑州seo顾问培训
  • 界面设计是什么专业/百度seo泛解析代发排名
  • 营销策划公司有哪些职位/关键词优化怎么操作
  • 企业网站方案/网络推广一般都干啥
  • 微信网站链接怎么做/成功的网络营销案例有哪些
  • 伊利集团网站建设实训/微信群推广平台有哪些