其实大多数编程语言都足够开放,可以让程序员以多种方式进行编程,以达到相似的效果。也是这样。在使用JavaScript时,我们通常会找到很多方法来实现类似的结果,但有时会引起混淆。在这些方法中,有些方法比其他方法使用得更好,因此这些是我的最爱,我将在本文中列出它们。我相信您也会在自己的列表中找到这些方法。1.忘记字符串连接并使用模板字符串(文字)。一般来说,当我们构造一个有意义的字符串时,我们通常会使用+运算符将字符串连接在一起。但是,连接字符串和动态值(或表达式)可能会导致出现某些错误情况。模板文字(或模板字符串)允许嵌入表达式。它有一个独特的语法,字符串必须用反引号(``)括起来。模板字符串可以包含动态值的占位符。这些可以用美元符号和大括号(${expression})标记。下面用这个方法来做个演示:2.isInteger想知道这个值是不是整数?这是一种更清洁的方法。JavaScript的NumberAPI提供了一个名为isInteger()的方法来判断一个值是否为整数。这非常有用并且更容易被注意到。输出结果如下:3.Valueasanumber之前有没有注意到,即使输入的类型是数字,event.target.value总是返回一个字符串类型的值?是的,请看下面的例子。我们有一个简单的数字类型文本框。这意味着它只接受数字输入。它具有事件处理程序来处理按键事件。在事件处理程序方法中,我们在获取值时使用event.target.value。但是它返回的是一个字符串类型的值。现在还要解析成整数,有点麻烦。如果输入框接受像16.56这样的浮点数怎么办?parseFloat()然后呢?将会有额外的工作和各种令人困惑的事情发生!请改用event.target.valueAsNumber。它将值作为数字返回。4.AND的简写让我们考虑一个带有布尔值和函数的情况。这里有太多代码来检查布尔条件和调用函数,那么尝试通过AND(&&)运算符使用简写怎么样?是的,避免了完整的if语句。这很酷!5.OR默认值通过OR(||)运算符可以轻松实现为变量设置默认值的操作。但是等等,这是有问题的。如果此人的年龄为0(可能是新生儿)怎么办?年龄将计算为35(0||35=35),这是意外的算术行为。这时可以输入nullishcoalescingoperator(??)。它是一个逻辑运算符,当其左操作数为null或未定义时返回其右操作数,否则返回其左操作数。使用??重写上面的代码operator,6.RandomItems生成随机数或从数组中获取随机项是现成且非常有用的方法。这些方法在我的项目中多次出现。从数组中获取随机项,并生成一个通过指定最小值和最大值的范围内的随机数:7.函数默认参数在JavaScript中,函数参数(或参数)类似于此函数的局部变量。您在调用函数时可能会也可能不会传递这些值。如果你不传递参数的值,它将是未定义的,可能会导致一些其他不必要的情况。在定义参数时,有一种简单的方法可以将默认值传递给函数参数。这里举的例子是我们将默认值Hello传递给greetings函数的参数message。8.必选功能参数扩展默认参数技术,我们可以根据需要标注参数。首先定义一个抛出错误并显示错误信息的函数,然后将该函数指定为所需参数的默认值。请记住,在调用时传递参数值时会忽略默认值。但是,如果参数值未定义,则考虑默认值。在上面的代码中,name将是未定义的,并将尝试为其设置一个默认值,即isRequired()函数。它会抛出一个错误-9.逗号运算符当我意识到逗号(,)是一个单独的运算符并且从未被注意到时,我感到非常惊讶。我在我的代码中多次使用它,但从未意识到它是如此真实。在JavaScript中,逗号(,)运算符用于从左到右评估其每个操作数,并返回最后一个操作数的值。在上面的例子中,变量的值是ret2。与示例类似,以下代码的输出将值32记录到控制台。我们在哪里使用它?有任何想法吗?逗号(,)运算符最常见的用途是在for循环中提供多个参数。10.合并多个对象您可能需要将两个对象合并在一起并创建一个更好的信息对象以供使用。您还可以使用(...)扩展运算符进行相同的操作。(是的,三个点!)分别考虑emp和job这两个对象,使用扩展运算符,将它们合并为:还有另一种方法来执行此合并。使用对象。分配()。您也可以这样做:输出:请注意,展开运算符和Object.assign都执行浅合并。在浅合并中,第一个对象的属性被与第二个对象相同的属性值覆盖。如果要进行深度合并,请使用lodash中的_merge之类的方法。11.解构将数组元素和对象属性分解为变量的技术称为解构。让我们看几个例子,数组这里我们有一个表情符号数组,要解构我们将使用以下语法,与do相同,letfire=emojis[0];但具有更大的灵活性。您是否注意到我用空格替换了奖杯表情符号?那么,这会输出什么?输出:再次引入剩余运算符。如果你想解构一个数组,以便将一个或多个项目分配给一个变量并将其余项放在另一个数组中,你可以使用...rest方法来实现,如下所示。输出:对象与数组一样,我们也可以解构对象。像这样解构,我们在一组变量的两边得到名称,其余的在另一个对象中。输出:12.交换变量现在使用我们刚刚学习的解构概念,它变得非常简单。13.isArray判断输入是否为数组,还有一个有用的方法。14.undefinedvsemptyundefined是一个已经声明但变量没有定义的值。null本身是一个空的且不存在的值,必须显式分配给变量。undefined不严格等于null15.获取查询参数window.location对象有很多有用的方法和属性。使用这些属性和方法,我们可以从浏览器URL中获取协议、主机、端口、域等信息。我发现其中一个非常有用的功能是Location.search属性从位置URL返回查询字符串。我们可以使用另一个有用的接口URLSearchParams和location.search来获取查询参数的值。Output:js今天的知识分享先到这里,后续会提供更多的编程知识和编程技巧。希望大家继续关注和支持我们的文章
