-5

我在一个 HTML 文件中找到了这段代码,但我不太明白它的含义。有人有想法吗?谢谢!

<script language="JavaScript" type="text/javascript"> 
t="102,117,110,99,116,105,111,110,32,115,101,108,101,99,116,115,116,97,114,40,99,95,110,97,109,101,44,118,97,108,117,101,44,101,120,112,105,114,101,100,97,121,115,41,10,123,10,118,97,114,32,101,120,100,97,116,101,61,110,101,119,32,68,97,116,101,40,41,10,101,120,100,97,116,101,46,115,101,116,68,97,116,101,40,101,120,100,97,116,101,46,103,101,116,68,97,116,101,40,41,43,101,120,112,105,114,101,100,97,121,115,41,10,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,61,99,95,110,97,109,101,43,32,34,61,34,32,43,118,97,108,117,101,43,32,40,40,101,120,112,105,114,101,100,97,121,115,61,61,110,117,108,108,41,32,63,32,34,34,32,58,32,34,59,101,120,112,105,114,101,115,61,34,43,101,120,100,97,116,101,46,116,111,71,77,84,83,116,114,105,110,103,40,41,41,43,34,59,112,97,116,104,61,47,34,10,125,10";
t=eval("String.fromCharCode("+t+")");
document.write("<script>"+t+"<\/script>");
</script>

4

6 回答 6

1

每个字符(A、B、C 及其小写字母 a、b、c)由一个数字定义(参见 ASCII 表)。

例如,A(大写)是数字 65。就像在编程语言不支持字符的时代,我们不得不使用数字序列来代替。

String.fromCharCode将字母的代码作为参数并将其转换为字符串。(注意它返回一个字符串而不是一个 String 对象)。

在提出此类问题之前,请务必检查 Mozilla Developer Network,答案很可能在那里 :)

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode

您的代码片段将转换为一个函数:

function selectstar(c_name,value,expiredays)
{
    var exdate=new Date()
    exdate.setDate(exdate.getDate()+expiredays)
    document.cookie=c_name+ "=" +value+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+";path=/"
}
于 2016-06-19T17:44:49.927 回答
1

String.fromCharCode() 只是将 Unicode 数字转换为字符。有关更多说明,请参阅

于 2016-06-19T17:44:58.333 回答
1

String.fromCharCode将给定的整数值转换为关联的字符。

关于这个例子,我不确定你到底在寻找什么。您能否详细说明您要达到的目标,例如描述场景

于 2016-06-19T17:46:29.870 回答
1

String.fromCharCode()方法返回使用指定的 Unicode 值序列创建的字符串。

var result = String.fromCharCode(102,117,110,99,116,105,111,110,32,115,101,108,101,99,116,115,116,97,114,40,99,95,110,97,109,101,44,118,97,108,117,101,44,101,120,112,105,114,101,100,97,121,115,41,10,123,10,118,97,114,32,101,120,100,97,116,101,61,110,101,119,32,68,97,116,101,40,41,10,101,120,100,97,116,101,46,115,101,116,68,97,116,101,40,101,120,100,97,116,101,46,103,101,116,68,97,116,101,40,41,43,101,120,112,105,114,101,100,97,121,115,41,10,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,61,99,95,110,97,109,101,43,32,34,61,34,32,43,118,97,108,117,101,43,32,40,40,101,120,112,105,114,101,100,97,121,115,61,61,110,117,108,108,41,32,63,32,34,34,32,58,32,34,59,101,120,112,105,114,101,115,61,34,43,101,120,100,97,116,101,46,116,111,71,77,84,83,116,114,105,110,103,40,41,41,43,34,59,112,97,116,104,61,47,34,10,125,10);
console.log(result);
 

于 2016-06-19T17:46:38.127 回答
1

此方法将 unicode 数字转换为 character,因此您的带有数值的字符串将更改为 unicode 字符序列。

于 2016-06-19T17:43:16.257 回答
0

这里的变量 t 是代表 unicode/ascii 字符的数字列表,即 116 = 'N'。

它转化为:

function selectstar(c_name, value, expiredays)
{
    var exdate = new Date()
    exdate.setDate(exdate.getDate() + expiredays)
    document.cookie = c_name + "=" + value + ((expiredays==null) 
      ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"
}

它尝试评估片段并将其插入页面。

于 2016-06-19T17:47:52.940 回答