执行LS源码的三种方法

方法一:使用 eval()

eval()函数常用来计算表达式,将表达式转换成一个变量名或者对象名,然后使用它访问变量或者对象。

LS中的数据都是以字符串的形式存储。当获取到字符串 data时(json数据转换成的字符串),

storage = eval("("+data+")");//这样得到的数据就是json串。

备注:在json转换成本地存储的时候,需要将json串转换一下:JSON.stringify(data),这样得到的就是json串。、

方法二:使用new function()

storage =(new Function("","return "+data))();

方法三:在一段script标签中插入源码,再将该script标签插入页码中

因为所取到的LS数据返回的是string,于是创造串

document.write("<script>"+data+"</script>")

原文地址:https://www.cnblogs.com/fyydnz/p/3907203.html