为什么Javascript警报只弹出数字而不弹出字符串?
有人能帮我理解为什么:为什么Javascript警报只弹出数字而不弹出字符串?,javascript,php,alert,Javascript,Php,Alert,有人能帮我理解为什么: <?php $x = 'b'; ?> <script> var v=<?php echo $x;?>; alert(v);</script> var v=;警戒(五); 不会弹出警报 <?php $x = '3'; ?> <script> var v=<?php echo $x;?>; alert(v);</script> var v=;警戒(五); 是否会弹出
<?php $x = 'b'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
不会弹出警报
<?php $x = '3'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
是否会弹出一个带有文本3的警报?您在脚本元素中回显一个字母
b
,这会导致:
<script> var v=b; alert(v);</script>
JavaScript看到的是一个数字文字3,它在分配和发出警报方面没有问题。您在脚本元素中回显一个字母
b
,这会导致:
<script> var v=b; alert(v);</script>
JavaScript看到的是一个数字文字3,它在分配和发出警报方面没有问题。始终查看呈现的输出
<script> var v = 3; alert(v); </script>
var v=3;警戒(五);
vs
var v=b;警戒(五);
要可靠地将PHP变量传递到JavaScript中,请使用始终查看呈现的输出
<script> var v = 3; alert(v); </script>
var v=3;警戒(五);
vs
var v=b;警戒(五);
要可靠地将PHP变量传递到JavaScript,请使用尝试:
<?php $x = '3'; ?>
<script> var v='<?php echo $x;?>'; alert(v);</script>
var v=“”;警戒(五);
试试:
var v=“”;警戒(五);
生成的脚本缺少引号或文字值。因此赋值var v=…
会出错,除非赋值是数字
使用
var v=”“;警戒(五);
而是查看所有输出(但要注意,
$x
中的双引号)。生成的javscript缺少括引号或文字值。因此赋值var v=…
会出错,除非赋值是数字
使用
var v=”“;警戒(五);
而是查看所有输出(但要注意
$x
中的双引号)。基本上,PHP代码在页面加载之前在服务器端运行,Javascript在页面加载脚本之后开始执行
所以按照你的代码
<?php $x = 'b'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
当在服务器端解析该代码时,php值将填充在脚本标记中
就像
<script> var v=b; alert(v);</script>
var v=b;警戒(五);
现在,当页面在客户端呈现时。执行这一行后,javascript开始查看变量b。就PHP而言,它是一个字符串,但就javascript而言,它是一个变量,因为它没有用双引号括起来
由于javascript找不到任何名为b的变量,它抛出b是未定义的错误
现在说到数字:
<?php $x = '3'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
在客户端中,这将呈现为
<script> var v=3; alert(v);</script>
var v=3;警戒(五);
现在,它只是一个数字,而不是一个变量。Javascript不会抛出任何错误
如果希望字符串在javascript中工作
在php变量中为b添加引号
<?php $x = '"b"'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
现在,即使是PHP字符串也会发出警报基本上,PHP代码在页面加载之前在服务器端运行,Javascript在页面中的脚本加载之后开始执行 所以按照你的代码
<?php $x = 'b'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
当在服务器端解析该代码时,php值将填充在脚本标记中
就像
<script> var v=b; alert(v);</script>
var v=b;警戒(五);
现在,当页面在客户端呈现时。执行这一行后,javascript开始查看变量b。就PHP而言,它是一个字符串,但就javascript而言,它是一个变量,因为它没有用双引号括起来
由于javascript找不到任何名为b的变量,它抛出b是未定义的错误
现在说到数字:
<?php $x = '3'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
在客户端中,这将呈现为
<script> var v=3; alert(v);</script>
var v=3;警戒(五);
现在,它只是一个数字,而不是一个变量。Javascript不会抛出任何错误
如果希望字符串在javascript中工作
在php变量中为b添加引号
<?php $x = '"b"'; ?>
<script> var v=<?php echo $x;?>; alert(v);</script>
var v=;警戒(五);
现在,即使是PHP字符串也会发出警报。@mohamedrias:但他没有这么做。@mohamedrias:但他没有这么做。