javascript没有GOTO功能(虽然有关键字)我怎么实现标签的任意跳转来执行不同地方的语句块

javascript没有GOTO功能(虽然有关键字)我怎么实现标签的任意跳转来执行不同地方的语句块,第1张

结构化语言编程   ,用子程序和函数来控制执行的代码块

标签3();

标签1;

talk(男主,你吃饭了没有啊);

talk(女主,吃过饭了,你呢);

标签2;

talk(男主,要来点什么饮料?);

talk(女主,谢谢,我正口渴呢);

function  标签3(){

talk(男主,你做作业了没有啊);

talk(女主,已经上交了);

qiankun ——— 一套完整的微前端解决方案: >

我来逐行代码给你分析吧,至于转成易语言的话就无能为力了。

因为本人不会易语言,所以你再找个会易语言的人根据我的翻译在写出易语言的代码来吧。

/

这一行是定义一个函数,函数名称是xor_str

该函数接受两个参数,第一个参数名称是cipherurl,第二个是cipherkey

由于js是弱类型语言,因此没有参数类型的限制。

但是根据代码的意思可以得到这两个参数的类型都是字符串类型

因此,在易语言下你可先定义一个方法,该方法接受两个字符串类型的参数

/

var xor_str = function(cipherurl,cipherkey)

{

/

定义两个局部变量

第一个变量名为i,类型是整数类型,初始值为0

第二个变量名为url,类型是字符串类型,初始值为""

/

var i = 0, url = '',

/

定义了一个全局变量keylen,初始值为第二个参数的长度

因为第二个参数为字符串类型,所以这个变量的初始值就是这个字符串的长度

/

keylen = cipherkeylength,

/

这里又定义了一个全局变量,变量名为urllen,初始值为第一个参数的长度

因为第一个参数为字符串类型,所以这个变量的初始值就是这个字符串的长度

/

urllen = cipherurllength;

/

开始循环,循环条件为变量i小于变量urllen,每循环一次i的值加1

/

for(;i < urllen;i++){

/

定义一个变量ch

cipherurlcharCodeAt(i) 的意思是取得cipherurl变量内第i个字符的编码

cipherkeycharCodeAt(i%keylen)的意思是取得第(i除以keylen的余数)个字符的编码

cipherurlcharCodeAt(i) ^ cipherkeycharCodeAt(i%keylen)的意思是

把第一个编码值和第二个编码值按二进制位进行异或运算

即对两个数值的二进制写法进行比较

只有当相同位置上的数字只有一个1时,才返回1,

有两个1或者都是0则返回0,

然后转换成十进制数值

如:10001(二进制) ^ 01111(二进制)得到的二进制值为11110

最终转成十进制是30

/

var ch = cipherurlcharCodeAt(i) ^ cipherkeycharCodeAt(i%keylen);

/

StringfromCharCode(ch);意思是取得ch编码所在的字符

url += StringfromCharCode(ch);意思是吧ch对应的字符累加到url变量上

/

url += StringfromCharCode(ch);

} //结束循环

//返回url的值

return url;

};

我想我应该说的够清楚了,如果还帮不了你的话我没办法了。

以上就是关于javascript没有GOTO功能(虽然有关键字)我怎么实现标签的任意跳转来执行不同地方的语句块全部的内容,包括:javascript没有GOTO功能(虽然有关键字)我怎么实现标签的任意跳转来执行不同地方的语句块、阿里 qiankun 微前端框架实践、谁能帮我把这段异或解密的javascript翻译成易语言,求救等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9502548.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存