Javascript无法打印大字符串

I am entirely new to JavaScript and the only reason I need it now is to update a picture on a PHP page. The picture is in Base64. This is the code I currently have:

if($data != null){
    $data = "data:image/jpeg;base64, " . $data;
?>
<script type="text/javascript">
    var myvar = "<?php echo ($data); ?>";
    document.write("test" + myvar);
</script>

This simply does not output anything. However, if I try something like this:

if($data != null){
    $data = "data:image/jpeg;base64, " . $data;
?>
<script type="text/javascript">
    document.write("test" + "<?php echo strlen($data); ?>");
</script>

it does work and outputs a number somewhere between 10.000 and 20.000. I read on the internet that there is not really a max variable size in JavaScript, atleast not one I am able to reach with this size. What am I doing wrong?