使js构造函数不会被当做普通函数调用的技巧
来源:互联网 发布:淘宝店如何退货 编辑:程序博客网 时间:2024/06/06 02:03
例如一个类A
我们可以在构造函数的开头使用
_classCallCheck来检测this指针
function A() { _classCallCheck(this, A);}
function _classCallCheck(instance, Constructor)
{
if (!(instance instanceof Constructor))
{ throw new Error("error");
}
}
原理是当A函数被直接调用时,this指针指向全局window对象(浏览器环境下),这样就会抛出一个错误。
但是如果使用new A()构造新对象,此时this指针指向该新的a对象实例,所以就不会报错
阅读全文
0 0
- 使js构造函数不会被当做普通函数调用的技巧
- js中普通函数和构造函数的区别
- JS THIS 深入浅出 JavaScript 中的 this && 理解javascript函数调用和 this ** Javascript 普通函数和构造函数的区别
- ** Javascript 普通函数和构造函数的区别 && JS----构造函数与原型prototype 区别
- A::fun();这样调用后, A类的构造函数和析构函数是否会被调用?------不会!
- 构造函数 ,普通函数
- javascript函数作为普通函数和构造函数调用
- 构造函数与普通函数的区别
- 构造函数与普通函数的区别
- 构造函数与普通函数的区别
- 构造函数与普通函数的比较
- 构造函数与普通 函数的区别
- 构造函数与普通函数的区别
- 构造函数的调用
- 构造函数的调用
- 构造函数的调用
- 构造函数的调用
- JS中构造函数和普通函数有什么区别
- fs_cli无法远程连接FreeSWITCH服务器问题
- 顺序表应用2:多余元素删除之建表算法
- 2017/9/12 迪杰特斯拉专栏from yty
- 无限轮播图
- 淘宝的放大镜的实现
- 使js构造函数不会被当做普通函数调用的技巧
- Maven使用注解联合查询
- LintCode-两数之和
- Linux命令
- 51Nod 1003 阶乘后面0的数量
- 表空间管理
- Codeforces 853D 贪心
- MongoDB实战-分片集群的管理
- 第六课 Tensorflow Cifar10 CNN 卷积神经网络