1
0
Fork 0
Obsidian 管理的个人笔记仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

681 B

关于 bind 的用法:

const rxTwoCNChar = /^[\u4e00-\u9fa5]{2}$/;
const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);
isTwoCNChar("提交")
  1. 为什么需要使用 bind 方法改变作用域? rxTwoCNChar.test 这一行赋值相当于 RegExp.prototype.test 直接从 RegExp 原型中取 test 方法 ,不从RegExp 实例 rxTwoCNChar 中调用,所以执行时的作用域并不会指向 rxTwoCNChar,需要使用 bind 函数生成并返回一个具有指定作用域的新函数
  2. 不使用 bind 时 rxTwoCNChar.test 作用域指向谁?
    1. 严格模式下 this 指向 undefined
    2. 非严格模式下 this 指向 global