首页 文章 精选 留言 我的

精选列表

搜索[javascript引擎],共10000篇文章
优秀的个人博客,低调大师

JavaScript数组精简技巧,要记好笔记了

云栖号:https://yqh.aliyun.com第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率。 删除数组的重复项 替换数组中的特定值 有时在创建代码时需要替换数组中的特定值,有一种很好的简短方法可以做到这一点,咱们可以使用.splice(start、value to remove、valueToAdd),这些参数指定咱们希望从哪里开始修改、修改多少个值和替换新值。 Array.from 达到 .map 的效果 咱们都知道 .map() 方法,.from() 方法也可以用来获得类似的效果且代码也很简洁。 4.置空数组 有时候我们需要清空数组,一个快捷的方法就是直接让数组的 length 属性为 0,就可以清空数组了。 将数组转换为对象 有时候,出于某种目的,需要将数组转化成对象,一个简单快速的方法是就使用展开运算符号(...): 用数据填充数组 在某些情况下,当咱们创建一个数组并希望用一些数据来填充它,这时 .fill()方法可以帮助咱们。 数组合并 使用展开操作符,也可以将多个数组合并起来。 8.求两个数组的交集 求两个数组的交集在面试中也是有一定难度的正点,为了找到两个数组的交集,首先使用上面的方法确保所检查数组中的值不重复,接着使用.filter 方法和.includes方法。如下所示: 9.从数组中删除虚值 在 JS 中,虚值有 false, 0,'', null, NaN, undefined。咱们可以 .filter() 方法来过滤这些虚值。 从数组中获取随机值 有时我们需要从数组中随机选择一个值。一种方便的方法是可以根据数组长度获得一个随机索引,如下所示: 11.反转数组 现在,咱们需要反转数组时,没有必要通过复杂的循环和函数来创建它,数组的 reverse 方法就可以做了: 12 lastIndexOf() 方法 13.对数组中的所有值求和 JS 面试中也经常用 reduce 方法来巧妙的解决问题 在本文中,介绍了13个技巧,希望它们可以帮助编写简洁代码,如果你还有更好的办法,欢迎留言讨论。 云栖号:https://yqh.aliyun.com第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 原文发布时间:2020-02-27本文作者:前端小智本文来自:“今日头条”,了解相关信息可以关注“今日头条”

优秀的个人博客,低调大师

javascript--实现购物车的实例分享

购物车对于大部分用户来说肯定都不陌生,每当双十一、双十二,我们都要把自己想要买的东西,提前加入购物车中,等到11月11号的凌晨抢时间抓紧下单。这对于用户来说,既可以管理自己想要购买的物品,又可以在购物车中进行选择。对于所有的购物用户来说都很方便、直观。 但是一些对于用户来说方便、简洁的功能,对于开发者来说会很复杂。为了给用户提供便捷的功能,其中大量复杂的业务逻辑都是开发者处理了。不过开发者在看到自己的成果之后,会很有成就感,也就不会在乎那些曾经的那些付出。 第一步,实现购物车的样式布局结构: <body> <div class="header"> <div class="container clearfix"> <div class="header-logo fl"> <a class="logo ir" href="" title="">购物车</a> </div> <div class="header-title fl" id="J_miniHeaderTitle"> <h2 style="font-size: 30px;">我的购物车</h2> </div> <div class="topbar-info fr" id="J_userInfo"> <a class="link" href="">登录</a><span class="sep">|</span><a class="link" href="">注册</a> </div> </div> </div> <div id="car" class="car"> <div class="head_row hid"> <div class="check left"> <i onclick="checkAll()">√</i></div> <div class="img left">&nbsp;&nbsp;全选</div> <div class="name left">商品名称</div> <div class="price left">单价</div> <div class="number left">数量</div> <div class="subtotal left">小计</div> <div class="ctrl left">操作</div> </div> </div> <div id="sum_area"> <div id="pay">去结算</div> <div id="pay_amout">合计:<span id="price_num">0</span>元</div> </div> <div id="box"> <h2 class="box_head"><span>买购物车中商品的人还买了</span></h2> <ul> </ul> </div> </body> 上述示例代码完成了整个购物车页面的HTML结构,在HTML结构中,我们将样式相同的模块进行提取,通过使用js循环的方式,根据商品的数量进行循环生成商品列表。如果是在与后台的交互过程中,后台工程师也会将商品组合成一个list列表给我们前端工程师。 接下来,就需要给浏览器的页面添加样式效果,这里的样式就让大家自己去完成了。循环给页面赋值,最终生成商品列表的代码如下: window.onload = function() { var aData = [{ "imgUrl": "img/03-car-01.png", "proName": " 手环4 NFC版 ", "proPrice": "229", "proComm": "1" }, { "imgUrl": "img/03-car-02.png", "proName": " AirDots真无线蓝牙耳机 ", "proPrice": "99", "proComm": "9.7" }, { "imgUrl": "img/03-car-03.png", "proName": " 蓝牙温湿度计 ", "proPrice": "65", "proComm": "1.3" }, { "imgUrl": "img/03-car-04.png", "proName": " 小爱智能闹钟 ", "proPrice": "149", "proComm": "1.1" }, { "imgUrl": "img/03-car-05.png", "proName": "电子温湿度计Pro ", "proPrice": "750", "proComm": "0.3" }, { "imgUrl": "img/03-car-06.png", "proName": "手环3 NFC版 Pro ", "proPrice": "199", "proComm": "3.3" }, { "imgUrl": "img/03-car-07.png", "proName": " 手环3 / 4 通用腕带", "proPrice": "19.9", "proComm": "1.2" }, { "imgUrl": "img/03-car-08.png", "proName": "温湿度传感器 ", "proPrice": "45", "proComm": "0.6" }, { "imgUrl": "img/03-car-09.png", "proName": "电子温湿度计Pro 3个装 ", "proPrice": "207", "proComm": "0.3" }, { "imgUrl": "img/03-car-10.png", "proName": "手环3 ", "proPrice": "199", "proComm": "7.2" } ]; var oBox = document.getElementById("box"); var oUl = document.getElementsByTagName("ul")[0]; for (var i = 0; i < aData.length; i++) { var oLi = document.createElement("li"); var data = aData[i]; oLi.innerHTML += '<div class="pro_img"><img src="' + data["imgUrl"] + '" width="150" height="150"></div>'; oLi.innerHTML += '<h3 class="pro_name"><a href="#">' + data["proName"] + '</a></h3>'; oLi.innerHTML += '<p class="pro_price">' + data["proPrice"] + '元</p>'; oLi.innerHTML += '<p class="pro_rank">' + data["proComm"] + '万人好评</p>'; oLi.innerHTML += '<div class="add_btn">加入购物车</div>'; oUl.appendChild(oLi); } } 实现的购物车静态页面效果如下: 最后,也是最复杂的部分,就是处理购物车的业务逻辑,我们要在商品上点击加入购物车,商品会自动展示在购物车模块中,加入多个商品,勾选商品前的选择复选框,可以进行核算商品的总价格,去结算。还可以删除已加入购物车的商品。 实现商品价格合计方法的代码: //进行价格合计 function getAmount() { // console.log(ys); ns = document.getElementsByClassName("i_acity"); console.log(ns); sum = 0; //选中框 document.getElementById("price_num").innerText = sum; for (y = 0; y < ns.length; y++) { //小计 amount_info = ns[y].parentElement.parentElement.lastElementChild.previousElementSibling; num = parseInt(amount_info.innerText); sum += num; document.getElementById("price_num").innerText = sum; } } 不管我们进行购物车中复选框的勾选功能,还是购物车的删除商品功能,还是进行商品的加减,都需要进行价格的核算。所以这个方法是很重要的。 最终实现的购物车的功能如下:

优秀的个人博客,低调大师

React 16.10.0 发布,构建用户界面的 JavaScript 库

React 16.10.0 发布了,更新内容如下: React DOM 修复了未记录挂钩更新的边缘情况 (@sebmarkbagein#16359) 修复 heuristic (@sebmarkbagein#16739) 卸载期间清除其他光纤字段以节省内存 (@trueadmin#16807) 修复 Firefox 中必填文本字段的错误 (@halvvesin#16578) 如果可用,选择 Object.is 而不是内联 polyfill (@ku8arin#16212) 修复混合挂起和错误处理时的错误 (@acdlitein#16801) Scheduler(实验性) 通过将内部数据结构切换为最小二进制堆来提高队列性能(@acdlitein#16245) 使用间隔较短的 postMessage 循环,而不是尝试使用 requestAnimationFrame 对齐框架边界(@acdlitein#16214) useSubscription 当发生突变并且先前的更新仍在进行时,避免 tearing issue (@bvaughnin#16623) 更新说明及下载地址 React 16.10.1 修复了一个 bug: React DOM 修复 Next.js 应用程序中的回归 (@sebmarkbagein#16943) 更新说明及下载地址

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册