函数中的Javascript构造函数
当我试图将以下代码放入函数中并调用它时,我得到了一个错误 未捕获类型错误:Crypt不是构造函数 怎么了函数中的Javascript构造函数,javascript,constructor,Javascript,Constructor,当我试图将以下代码放入函数中并调用它时,我得到了一个错误 未捕获类型错误:Crypt不是构造函数 怎么了 var Crypt=new Crypt();//建造师 /***加密*/ usertext='test' var ciphertext=Crypt.AES.encrypt(usertext); //XluzvcUwZFU=3MD2vMz8PHySPJlKZiWjJg==1Gv6n6Tv8azr /***解密*/ var plaintext=Crypt.AES.decrypt(密文); 控制
var Crypt=new Crypt();//建造师
/***加密*/
usertext='test'
var ciphertext=Crypt.AES.encrypt(usertext);
//XluzvcUwZFU=3MD2vMz8PHySPJlKZiWjJg==1Gv6n6Tv8azr
/***解密*/
var plaintext=Crypt.AES.decrypt(密文);
控制台日志(密文)
console.log(纯文本)
变量Crypt正在函数中声明,因此试图使用自身(未定义的值)作为新关键字的构造函数。
在你的功能中试试这个
var Crypt=new window.Crypt();//全局作用域中的构造函数似乎您没有创建
Crypt
类。在哪里定义了Crypto?据我所知,它不是浏览器中的本机构造函数,所以您是用库添加它还是在某处编写自己的实现?是节点模块crypto js吗?您正在创建一个变量Crypt
,其名称与未显示其定义的神秘函数Crypt
相同。因此,在显示的代码中,没有其他定义Crypt
您的代码等同于说var Crypt=undefined;Crypt=new undefined()
,显然undefined
不是构造函数。