堂堂堂堂糖糖糖童鞋
知道一个概念:变量声明提升,通过var 声明的变量会放到全局作用域的顶部,也就是相当于:<script>
var a = 1;//在这里声明,加入不是第一行
</script>
//相当于
<script>
var a = undefined;
a = 1;//赋值
</script>这样是不会报错的,a的值为。而你的这种情况,没有通过var 定义 a,不存在变量提升,那么在第一个`<script></script>`中没有定义a,而使用了a,就会报引用错误:"Uncaught ReferenceError: a is not defined"。解决方式:在scriptTag.text = 'var b=1;var k=a+b;';中添加a的声明,像这样:scriptTag.text = 'var b=1;var a = 1;var k=a+b;';//推荐
//或者不使用var 声明a
scriptTag.text = 'var b=1;a = 1;var k=a+b;';//不推荐