0x0,xxxxisnotdefined。错误原因及解决方法首先提示xxxxisnotdefined表示未定义。原因:如果确定加密前已经定义了“变量名”或“方法名”,那应该是加密后“变量名/方法名”发生了变化,所以在加密时找不到“方法名”外部调用。/变量名”会报错。比如原来的函数(方法)是:functiontest(){//todo}加密后的函数(方法)可能是:function_0xaoem(){//todo}此时,如果调用“test”,则必须是undefined(test未定义)解决方法:1、使用BestEncryptionV6版本,保留“变量名/方法名”方式,如果方法名或变量名是“test”》,这样添加即可,更多规则请点击对应后面的“?”符号查看具体规则。这样加密后,“变量名/方法名”不会改变,不会出现这个错误问题.2.增加作用域.原来的函数写法:functiontest(){//todo}改为:test=function(){//todo}//orwindow.一直存在,调用不会出现test3.正确的写法(使用闭包)jquery我们都见过,jquery是以闭包的形式写的,简单的说就是将所有的方法(函数)和变量私有化,然后提供公共访问权限。举个例子:(function(w){//定义私有对象varT={};//绑定方法T.test=function(){//todo}//提供公共访问w.T=T;})(window);//调用testT.test();这样以后就可以使用T来调用绑定到T上的方法(函数)和变量了。结语:其实我们在写代码的时候,一定要考虑到这些,方便以后调用或者被别人使用。所以从一开始,我们就要计划好如何写得恰到好处。没有人会高兴,而不是马上去做。
