一些你可能不熟悉的JS知识点总结
理解JS中的this指向
在 Javascript 中,“this”是一个关键字,它指向函数执行时的上下文对象。在全局作用域中,“this”指向全局对象(window / global),在函数内部,“this”指向函数调用时的“拥有者”(即调用该函数的对象)。更多的用法和示例请参考以下代码:
let obj = {
name: 'John',
sayName: function() {
console.log(this.name);
}
};
let otherObj = {
name: 'Jane'
};
// 绑定this
obj.sayName.call(otherObj); // 'Jane'
obj.sayName.apply(otherObj); // 'Jane'
// 箭头函数中的this
let arrowFn = () => {
console.log(this);
}
arrowFn(); // window/global
怎样获取一个字符串的所有字符?
在 JavaScript 中,我们可以使用字符串方法 .charAt()
或直接使用字符串下标来获取一个字符串的单个字符(即单个字符的 ASCII 码)。但是,如果要获取一个字符串的所有字符,可以使用字符串方法 .split()
并传递一个空字符串作为分隔符来实现。
let str = 'Hello World';
let chars = str.split('');
console.log(chars); // ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
理解 JavaScript 中的闭包
在 JavaScript 中,每个函数都是一个闭包。闭包指的是一个函数可以访问其定义时所在的词法作用域中的变量。这意味着一旦一个函数在定义时访问了其外部的变量,即使该变量在函数执行时不再存在,它也可以访问到在定义时的值。
function outer() {
let name = 'John';
function inner() {
console.log(name);
}
return inner;
}
let fn = outer();
fn(); // 'John'
在上述代码中,outer
函数返回了一个内部函数 inner
,并将该函数赋值给 fn
变量。然后,在调用 fn
时,它仍然能够访问外部变量 name
,即使在 fn
被调用时,在 outer
中定义的 name
已经不复存在。
以上是 JavaScript 的一些高级知识点的总结。能够理解和掌握这些知识点将会对你的 JavaScript 编程能力产生积极的影响。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一些你可能不熟悉的JS知识点总结 - Python技术站