返回
对新手而言,掌握JavaScript必备小知识(三)
前端
2023-10-15 22:31:40
一、 闭包、this、作用域、正则验证
1.1 闭包的概念
在函数内部声明的函数,可以访问函数的局部变量。闭包就是能够读取其他函数内部变量的函数。
举例说明:
function outerFunction() {
let variable = "闭包";
function innerFunction() {
console.log(variable); // "闭包"
}
return innerFunction;
}
const innerFunctionReference = outerFunction();
innerFunctionReference(); // "闭包"
1.2 this
this
关键字指向当前正在执行的函数所属的对象。它允许你访问对象属性和方法,而无需显式传递对象作为参数。
举例说明:
const person = {
name: "小明",
age: 20,
greet: function() {
console.log(`我的名字是${this.name},今年${this.age}岁。`);
}
};
person.greet(); // "我的名字是小明,今年20岁。"
1.3 作用域
作用域是指变量和函数可被访问的范围。在JavaScript中,有全局作用域和局部作用域之分。
全局变量: 在脚本的任何地方都可以访问的变量。
局部变量: 在函数内部声明的变量,只在该函数内部可被访问。
举例说明:
let globalVariable = "全局变量"; // 全局变量
function outerFunction() {
let localVariable = "局部变量"; // 局部变量
console.log(globalVariable); // "全局变量"
console.log(localVariable); // "局部变量"
}
outerFunction(); // "全局变量" "局部变量"
console.log(globalVariable); // "全局变量"
console.log(localVariable); // ReferenceError: localVariable is not defined
1.4 正则验证
正则验证是一种用于验证字符串是否符合特定格式的方法。在JavaScript中,可以使用正则表达式来进行正则验证。
正则表达式的语法:
/pattern/flags
其中,pattern
是正则表达式的模式,flags
是正则表达式的标志。
常用的正则表达式模式:
模式 | 说明 |
---|---|
^ |
匹配字符串的开头 |
$ |
匹配字符串的结尾 |
. |
匹配任何字符 |
* |
匹配前面的字符零次或多次 |
+ |
匹配前面的字符一次或多次 |
? |
匹配前面的字符零次或一次 |
[] |
匹配指定范围内的字符 |
{} |
匹配指定次数的字符 |
举例说明:
const emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
const validEmail = "example@email.com";
const invalidEmail = "example";
console.log(emailRegex.test(validEmail)); // true
console.log(emailRegex.test(invalidEmail)); // false
结语
在本文中,我们详细探讨了闭包、this、作用域和正则验证等概念,帮助初学者全面理解JavaScript的语法和应用。希望这些知识能够帮助大家开发出更优质的JavaScript应用程序。