Php 如何使用javascript函数?

Php 如何使用javascript函数?,php,javascript,function,Php,Javascript,Function,我有一个函数来编码字符串(我从网上找到的),还有它的javascript。但是我不熟悉js,所以请帮助我使用它 这是代码: function encode($string) { var one=new Array([1,1,1],[1,0,1],[1,0,0],[0,0,1]); var zero=new Array([0,1,0],[1,1,0],[0,1,1],[0,1,0],[0,0,0]); var a=new Array();var b=new Array();var c=new Ar

我有一个函数来编码字符串(我从网上找到的),还有它的javascript。但是我不熟悉js,所以请帮助我使用它

这是代码:

function encode($string) {
var one=new Array([1,1,1],[1,0,1],[1,0,0],[0,0,1]);
var zero=new Array([0,1,0],[1,1,0],[0,1,1],[0,1,0],[0,0,0]);
var a=new Array();var b=new Array();var c=new Array();
var i;for($i=0;$i<$string.length;$i++) a[$i]=$string.charAt($i);
for($i=0;$i<a.length;$i++) a[$i]=a[$i].charCodeAt(0);
for($i=0;$i<a.length;$i++) {
   b[$i]=new Array();$j=0;
   while(a[$i]) {
       b[$i][$j++]=a[$i]%2;a[$i]=parseInt(a[$i]/2);} 
   if($j<8) for($k=$j;$k<8;$k++) b[$i][$k]=0;} 
for($i=0;$i<b.length;$i++) for($j=0;$j<8;$j++) 
   b[$i][$j]=(b[$i][$j]==0)?(zero[(parseInt(Math.random()*10))%5]):(one[(parseInt(Math.random()*10))%4]);
var l=b.length;for($j=0;$j<8;$j++) for($k=0;$k<3;$k++) for($i=0;$i<l;$i++) c[$k*l+$i+$j*3*l]=b[$i][$j][$k];
var fString="";
for($i=0;$i<l*3;$i++) {
   var a=0;for($j=0;$j<8;$j++) a+=c[$j+$i*8]*exp(2,$j);fString+="|"+a;} 
return fString;}

我不知道如何给js函数一个字符串,请帮我举一个给一些字符串的例子,最后解释Math.Random()它的范围是多少

您可以像在任何其他语言中一样为js函数指定字符串

var a = function(str){alert(str)}
a("This is a string")
Math包含一组用于执行某些数学运算的实用函数。
Math.random()生成一个介于0和1之间的随机数

您的
getId()函数定义在哪里?这个函数包含什么?你想编码什么?URL查询参数?这是一种特殊的编码还是仅仅在URL中使字符串安全?
最后解释Math.Random()它的范围有多大
对不起,是什么阻止你在google中输入Math.Random并阅读它的文档?你到底希望用这个函数做什么?它的目的是什么?它似乎做了很多工作,但我不明白它为什么这么做。您似乎希望使用它来隐藏ID的值,但是(a)此函数似乎并不是为此而设计的,并且(b)如果该ID在Javascript中可用于编码,则用户已经可以访问它,因此编码它没有意义。请详细说明你想做什么,因为我觉得整个事情都没有必要。是的,我就是这么想的。恐怕不行了。问题是,任何人都很容易在编码之前从javascript获取ID,因此您不会阻止任何人。这样做的方法是确保用户有权限做他们正在做的事情(即他们已登录)。一旦你有了一个有效的登录,就没有必要对ID进行编码;您只需要确保服务器只允许他们加载/保存具有其使用权限的ID的记录。然后,不管他们是否看到ID,因为他们不会做任何坏事。这里提供了一个JSFIDLE函数,exp函数被等效和更快的代码替换:
var a = function(str){alert(str)}
a("This is a string")