JavaScript 子字符串返回错误

JavaScript Substring Returning Error

我正在使用 Joomla 并尝试使用 substring() 函数提取字符串的前 4 个字符。我遇到的问题是出现

错误

这是我的语法 - 我应该如何更改它以便它在我的 Joomla 设置中起作用?

Uncaught TypeError: phpdate.substring is not a function

语法如下:

<?php
  $randardate = '20160301';
?>
<script>
  var phpdate = <?php echo $randardate; ?>;
  var yearfromphpdate = phpdate.substring(0,4);
</script>

添加引号使 phpdate 成为一个字符串。

var phpdate = '<?php echo $randardate; ?>';

由于您正在使用 PHP 预处理 javascript 文件,如果没有引号,您的 javascript 文件将类似于

var phpdate = 20160301;

您需要像这样添加引号

var phpdate = '<?php echo $randardate; ?>';

这样当 PHP 处理完您的文件后,它将是一个字符串,而不是一个整数。

var phpdate = '20160301';

你的堆栈跟踪被抛出,因为 substring 需要一个字符串,而不是一个 int。