Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以字符串形式获取Javascript代码_Javascript - Fatal编程技术网

以字符串形式获取Javascript代码

以字符串形式获取Javascript代码,javascript,Javascript,我正在寻找一种Javascript将自身作为字符串读入的方法 例如,以下面的代码为例 var Object = { myFunction: function() { console.log("FUNCTION!"); } } 我想以某种方式将代码作为字符串、换行符等等。这完全取决于用户 我在调查中没有发现任何类似的问题,我已经找了好几个小时了 编辑 注意,我没有指定对象的序列化。我指定了代码的序列化 如何将其作为字符串以及对象声明获取? var对象={ func

我正在寻找一种Javascript将自身作为字符串读入的方法

例如,以下面的代码为例

var Object = {
    myFunction: function() {
        console.log("FUNCTION!");
    }
}
我想以某种方式将代码作为字符串、换行符等等。这完全取决于用户

我在调查中没有发现任何类似的问题,我已经找了好几个小时了

编辑

注意,我没有指定对象的序列化。我指定了代码的序列化

如何将其作为字符串以及对象声明获取?

var对象={
func1:函数(){
log(“函数!”);
},
职能2:职能{
控制台日志;
},
功能3:功能{
控制台日志;
},
str1:'字符串1',
str2:'字符串2',
obj1:{
a:‘字符串a’
}
}
var$console=$(“#console”);
用于(对象中的项目){
if(对象的类型[项目]==“对象”){
$console.html($console.html();
for(对象[项]中的对象项){
$console.html($console.html();
$console.html($console.html()+“\r\n”+对象[item][objItem].toString());
}
}否则{
$console.html($console.html();
$console.html($console.html()+“\r\n”+对象[item].toString());
}
}


<代码> > p>如果您可以将所有代码包在函数内,则考虑.< /p>
如果它是一个外部文件,只需像加载其他文本文件一样加载该文件即可

对于大多数情况下的特定函数,您可以对其调用
.toString()
,以获取字符串。请参见此处的JSFIDLE:


首先,将其称为“Object”可能不是一个好主意,但您是否尝试过
Object.myFunction.toString()
?我认为有两件事可能会有所帮助:1)您可以动态加载脚本并将其作为字符串读入;2) 您可以将代码封装在函数中,然后使用
toString
。相当重要的问题是:为什么?除了后来的“从字符串中加载它”之外,这个字符串表示法还有什么可能的用途呢?我们都认为这是一个非常糟糕的主意,我们总是告诉人们永远不要对字符串使用
eval
new Function
、或
setTimeout
。如果这段代码存在于一个文件中,那么显而易见的答案是“只需查看该文件”,但即便如此:为什么?如果您的服务器上有一个单独的文件存储了一个脚本,您也可以使用ajax将其作为纯文本获取。尝试的目的是查看Javascript是否可以散列自身,并与web服务进行比较,以查看Javascript代码是否发生了更改。这更像是“为了它”的冒险,而不是为了解决任何真正的问题。。但不是所有的Javascript代码。这个对象只是一个例子。如果我在对象声明周围有一个脚本呢?
var n = 1;
var x = "hello";
var something = "hi";
var foo = function() {
    return 1 + 1;
};

console.log(foo.toString());
function myFunc() {

    var what = 'who?';
}

alert(myFunc.toString());