分类目录归档:JavaScript

JavaScript条件三元运算符


基本用法

三元运算符是在表达式中编写if-else的紧凑方法。

const thing = (condition) ? <if true> : <if false>;

例如

const cappedInput = input > 50 ? 50 : input // this will cap the input at 50

否则,如果

你也可以链接三元运算符,这样你就会有一个if-else if-else行为

<first condition> ? <value if first true>
 : <second cond...

阅读全文...

JavaScript将字符串转换为数字


parseInt()函数解析字符串参数并返回指定基数的整数(数学系统中的基数)。

parseInt(string, radix);

参数

string

要解析的值。如果string参数不是字符串,则将其转换为字符串(使用ToString抽象操作)。字符串参数中的前导空格被忽略。'= 基数 2到36之间的整数,表示上述字符串的基数(数学数字系统中的基数)。为人类常用的十进制数字系统指定10 。始终指定此参数以消除读者混淆并保证可预测的行为。当未指定基数时,不同的实现会产生不同的结果,通常将值默认为10。 返回值 从给定字符串解析的整数。如果第一个字符无法转换为数字,则返回NaN

描述...

阅读全文...

JavaScript错误处理


try...catch..finally语句标记要尝试的语句块,并指定响应,如果抛出异常。 try语句包含一个或多个语句,以及至少一个catch子句或finally子句,或两者。

try...catch

try {
   throw new Error('my error');
 }
 catch (e) {
  console.error(e.message);
 }

 // Output:
 // my error

try...finally

try {
   throw new Error('my error');
 }
 finally...

阅读全文...

JavaScript假值是评估


假值是评估为FALSE的值,例如在检查变量时。 JavaScript中只有六个falsey值: undefinednullNaN0"" (空字符串),当然还有false

检查变量上的假值

可以使用简单的条件检查变量中的假值:

if (!variable) {
  // When the variable has a falsy value the condition is true.
 }

一般例子

var string = ""; // <-- falsy

 var filledString = "some strin...

阅读全文...

JavaScript表单验证


在客户端输入所有必要数据然后按下“提交”按钮后,通常用于在服务器上进行的表单验证。如果数据 客户输入的内容不正确或只是丢失,服务器必须将所有数据发送回客户端并请求表单 重新提交正确的信息。这真是一个漫长的过程,曾经给服务器带来了很多负担。

JavaScript提供了一种在将客户端计算机上的数据发送到Web服务器之前验证其数据的方法。表单验证通常执行两次 功能:

基本验证

首先,必须检查表单以确保填写所有必填字段。它只需要循环遍历表单中的每个字段, 检查数据。

数据格式验证

其次,必须检查输入的数据的正确形式和值。您的代码必须包含适当的逻辑来测试数据的正确性。

例:

<html>...

阅读全文...

JavaScript函数组合


函数组合是一个函数对另一个函数的结果的逐点应用。开发人员每天在嵌套函数时以手动方式执行此操作:

compose = (fn1, fn2) => value => fn2(fn1(value))

但这很难读。使用函数组合有更好的方法。而不是从里到外阅读它们:

add2AndSquare = (n) => square(add2(n))

我们可以使用更高阶函数以有序的方式链接它们。

add2AndSquare = compose( add2, square)

compose的一个简单实现是:

compose = (f1, f2) => value => f...

阅读全文...

JavaScript函数调用


调用函数时,将执行函数内的代码。通常使用术语“调用函数”而不是“调用函数”。

调用函数时,函数必须在范围内。函数的作用域是声明它的函数,如果它是在顶层声明的整个程序。

function myFunction(a, b) {
  return a * b;
 }
myFunction(10, 2);           // Function invocation, will return 20

//optional parameters (es6 only)
//allow to set optional parameters

function myFunction(a, b = 1...

阅读全文...

JavaScript 全局对象


全局对象是在执行代码之前由JavaScript解释器初始化的对象。在全局范围上声明的所有变量都作为属性存储在全局对象中。

在Node.js环境中,全局对象可以通过global关键字访问,而在浏览器窗口中,可以通过window关键字访问它。在全局范围中使用时, this关键字也引用全局对象。请注意,如果启用了strict mode则在全局范围内使用this将返回undefined

例如:

// global scope
 var foo = "bar";

 console.log(global.foo); // bar (in a Node environment...

阅读全文...

JavaScript全局变量


全局变量在整个程序的可访问性函数之外声明,而局部变量使用var存储在函数中,仅在该函数的范围内使用 。如果在不使用var情况下声明变量,即使它在函数内部,它仍将被视为全局变量:

var x = 5; //global
function someThing(y) {
  var z = x + y;
  console.log(z);
}

function someThing(y) {
  x = 5; //still global!
  var z = x + y;
  console.log(z);
}


function someThing(y) {
  var x = 5; /...

阅读全文...

JavaScript 高阶函数


高阶函数是在执行时返回函数,将函数作为其一个或多个参数或两者的函数。如果您已经使用了任何Array方法(如mapfilter ,或者将回调函数传递给jQuery的$.get ,那么您已经使用了高阶函数。

使用Array.map ,您提供了一个函数作为其唯一参数,它适用于数组中包含的每个元素。

var arr = [ 1, 2, 3 ];

var arrDoubled = arr.map(function(num) {
return num * 2;
});

console.log(arrDoubled); // [ 2, 4, 6 ]

高阶函数也可以返回一个函数。例如,您可以创建...

阅读全文...