技术文章库 - 编程教程与技术分享平台
解释 javascript 防抖动函数?
防抖动函数限制函数触发的速率。例如,查询服务器的自动完成文本栏。如果每次击键时都查询服务器,则会不必要地对网络和内存产生影响。您可以做的是限制在给定时间内进行的这些调用的数量。您可以编写自己的防抖动函数,该函数以实际函数作为参数并以速率受限(节流)的方式执行它。示例constdebounce=(cb,time)=>{lettimeout;returnfunction()
说出 javascript 中的一些字符串方法?
String对象允许您处理一系列字符;它使用许多辅助方法包装了Javascript的字符串原始数据类型。由于JavaScript会自动在字符串基元和String对象之间进行转换,因此您可以在字符串基元上调用String对象的任何辅助方法。以下是JavaScript中可用于字符串的一些方法−concat()−组合两个字符串的文本并返回一个新字符串。i
用 javascript 写出 split() 方法的用法?
split([separator,[limit]])方法通过将字符串分成子字符串,使用指定的分隔符字符串确定每次拆分的位置,将String对象拆分为字符串数组。split方法的示例用法leta="hello,hi,bonjour,namaste";letGreetings=a.split(',');console.log(greetings
如何在 JavaScript 中将字符串转换为驼峰式大小写?
驼峰式大小写是一种编写短语的做法,短语中间的每个单词或缩写都以大写字母开头,中间没有空格或标点符号。例如,驼峰式大小写的并发哈希映射将写为−ConcurrentHashMaps我们可以实现一种方法来接受JavaScript中的字符串,并以以下方式将其转换为驼峰式大小写−示例functioncamelize(str){//在所有空格字符处拆分字符串retur
为什么在 javascript 中使用带有数组迭代的"for…in"是个坏主意?
在JavaScript中使用带有数组迭代的for..in循环是个坏主意,因为存在以下行为−使用普通迭代循环−示例letarr=[]arr[4]=5for(leti=0;i<arr.length;i++){console.log(arr[i])}输出undefinedundefinedundefinedundefined5如果
JavaScript 中 var 和 let 的区别
众所周知,为了在javascript中声明变量,我们有两个选择,要么用var声明,要么用let声明。现在的问题是何时使用var,何时使用let,即两者之间的主要区别是什么。在下文中,我们将了解javascript中var和let的主要区别。let和var之间的主要区别在于,用let定义的变量的作用域仅限于声明它的块,而用var声明的变量具有全局作用域。所以
JavaScript 中的 Class 关键字
ES6中引入的JavaScript类是JavaScript基于原型的继承的语法糖。类实际上是"特殊函数"。您可以使用class关键字在JavaScript中定义类,语法如下−classPerson{//此类的构造函数constructor(name){this.name=name;}//此类的实例方法displayName(){
JavaScript RegExp W 元字符
\W元字符用于查找非单词字符。单词字符是a-z、A-Z、0-9中的字符,包括_(下划线)字符。示例//包含任何非单词字符:console.log(/\W/.test(""))console.log(/\W/.test(".!@#"))//不包含非单词字符:console.log(/\W/.test("a"))console.
JavaScript RegExp s 元字符
\s元字符用于查找空格字符。空格字符可以是−空格字符制表符回车符换行符垂直制表符换页符示例//不包含任何空格:console.log(/\s/.test("1"))console.log(/\s/.test("test"))//包含空格字符:console.log(/\s/.test(""))console.log(
Javascript 在集合中搜索对象键
JavaScript中的Set类提供了一种has方法来搜索给定集合对象中的元素。如果您想在集合中搜索对象,则需要提供对该对象的引用。具有不同内存地址的相同对象不被视为相等。此方法可按如下方式使用−示例letmySet=newSet();letmyObj={name:"John"}mySet.add(1);mySet.add(3);mySe
如何在 javascript 中从集合中删除所有元素?
JavaScript中的Set类提供了一种clear方法来从给定的集合对象中删除所有元素。此方法的使用方式如下−示例letmySet=newSet();mySet.add(1);mySet.add(2);mySet.add(1);mySet.add(3);mySet.add("a");console.log(mySet)mySet.clear()
在 JavaScript 中创建集合的方法?
集合是一种抽象数据类型,可以存储某些值,没有任何特定顺序,也没有重复的值。它是有限集数学概念的计算机实现。与大多数其他集合类型不同,通常不是从集合中检索特定元素,而是测试值是否属于集合。在js中创建集合的方法−1.使用空的Set构造函数letmySet=newSet();mySet.add(1);mySet.add(1);console.log(mySet)输出Set
什么是 javascript 集合?
集合是一种抽象数据类型,可以存储某些值,没有任何特定顺序,也没有重复值。它是有限集数学概念的计算机实现。与大多数其他集合类型不同,通常不是从集合中检索特定元素,而是测试值是否属于集合。每当您想要将唯一元素存储在顺序无关紧要的容器中,并且主要想使用它来检查不同对象的成员身份时,就应该使用集合。当您想要执行并集、交集、差集等操作时,集合也很有用,就像您在数学集合中所做的那样。Set对象允许您存储任何
如何使用 JavaScript 在用户点击 DIV 外部时隐藏它?
要在用户点击div外部时隐藏它,请尝试运行以下代码示例<!DOCTYPEhtml><html><body><script>window.onload=function(){varhideMe=document.getElementById('hideMe');document.
JavaScript 中的 == 和 === 有什么区别?
双等号(==)是抽象相等比较运算符,它在进行比较之前将操作数转换为相同类型。例如,4==4//true'4'==4//true4=='4'//true0==false//true三等号(===)是严格相等比较运算符,对于不同的类型和不同的内容,它返回false。例如,4===4//true4==
javascript 中 OBJECT.assign() 有什么用?
Object.assign()方法用于将对象自身所有属性(仅可枚举)的值从一个或多个源对象复制到目标对象。它将返回目标对象。示例consttargetObj={a:1,b:2};constsourceObj={b:4,c:5};constreturnedTarget=Object.assign(targetObj,sourceObj);console.lo
消除 Javascript 中的内存泄漏
垃圾收集语言中泄漏的主要原因是不需要的引用。要了解内存泄漏,让我们看看内存释放(垃圾收集)的工作原理。标记和清除算法−此算法将"不再需要对象"的定义简化为"对象无法访问"。此算法假设知道一组称为根的对象。在JavaScript中,根是全局对象。GC定期从这些根开始,递归查找从这些根引用的所有对象。从根开始,GC将找到所有可访问的对象并收集所有不可达的对象。内存泄漏的类型1.全
如何避免 OOP Javascript 中的循环引用?
如果两个单独的对象相互传递引用,就会发生循环引用。在旧版浏览器中,循环引用是内存泄漏的原因。随着垃圾收集算法的改进,现在可以很好地处理循环和循环依赖,这不再是问题。但是,从纯粹的设计角度来看,循环引用仍然是一件坏事,是一种代码异味。循环引用意味着引用彼此的两个对象紧密耦合,对一个对象的更改可能也会导致另一个对象的更改。避免循环引用没有一种方法可以避免JS中的循环引用。这取决于用例和情况,在某些
为什么循环引用在 javascript 中是坏的?
如果两个单独的对象相互传递引用,就会发生循环引用。在旧版浏览器中,循环引用是内存泄漏的原因。随着垃圾收集算法的改进,现在可以很好地处理循环和循环依赖,这不再是问题。但是,从纯粹的设计角度来看,循环引用仍然是一件坏事,是一种代码异味。循环引用意味着引用彼此的两个对象紧密耦合,对一个对象的更改可能也会导致另一个对象的更改。避免循环引用没有一种方法可以避免JS中的循环引用。这取决于用例和情况,在某些
在 JavaScript 中获取明天和后天的日期
使用JavaScript的Date类,其对象newDate()返回当前日期的JavaScript日期,我们必须找到接下来两天的日期。这是一个相当简单的问题,我们可以用几行代码实现它。首先,获取今天的日期−//获取今天的日期consttoday=newDate();让我们来编写该函数代码−//获取今天的日期consttoday=new

