1
0
Fork 0
Browse Source

vault backup: 2022-06-27 12:00:52

master
YuJian 2 years ago
parent
commit
63d38af3d8
  1. 14
      Antd 的深入尝试/Button.md

14
Antd 的深入尝试/Button.md

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
关于 bind 的用法:
## 关于 bind 的用法:
```typescript
const rxTwoCNChar = /^[\u4e00-\u9fa5]{2}$/;
@ -6,10 +6,8 @@ const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar); @@ -6,10 +6,8 @@ const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);
isTwoCNChar("提交")
```
在这里 isTwoCNChar 是使用 bind 改变作用域后生成的新函数赋值的,它的作用域为 rxTwoCNChar,在这里 rxTwoCNChar.test.bind 实际上相当于 RegExp.prototype.test.bind,它们效果实际上是一致的
1. 为什么需要使用 bind 方法改变作用域?
`rxTwoCNChar.test` 这一行作用相当于 `RegExp.prototype.test` ,不从 rxTwoCNChar 实例中调用,所以执行时的作用域并不会指向 rxTwoCNChar,
1. 不使用 bind 时 rxTwoCNChar.test 指向谁?
1. 严格模式下 this 指向 undefined
2. 非严格模式下 this 指向 global
1. 为什么需要使用 `bind` 方法改变作用域?
`rxTwoCNChar.test` 这一行作用相当于 `RegExp.prototype.test` ,不从 `rxTwoCNChar` 实例中调用,所以执行时的作用域并不会指向 `rxTwoCNChar`,需要使用 `bind` 函数生成并返回一个具有指定作用域的新函数
1. 不使用 bind 时 `rxTwoCNChar.test` 作用域指向谁?
1. 严格模式下 `this` 指向 `undefined`
2. 非严格模式下 `this` 指向 `global`
Loading…
Cancel
Save