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