函数中的Javascript构造函数

函数中的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(密文); 控制

当我试图将以下代码放入函数中并调用它时,我得到了一个错误 未捕获类型错误:Crypt不是构造函数 怎么了

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
不是构造函数。