点击某个链接,出现js错误:Uncaught SyntaxError: Unexpected token ILLEGAL

原因:

$str .= sprintf('&nbsp&nbsp<a href="javascript:void(0);" onclick="modifyEssBrief(%s);">编辑</a>', $val['_id']);

点击编辑链接,触发modifyEssBrief的js函数。

其中的html代码是:

<a href="javascript:void(0);" onclick="modifyEssBrief(52ddeea90114e68d36000000);">编辑</a>

出现JS错误提示:Uncaught SyntaxError: Unexpected token ILLEGAL

原因是,js能够判断出modifyEssBrief是个函数,函数的参数为 52ddeea90114e68d36000000

js会将这一串字符串解释成为变量,那么变量是不允许以数字开头的,那么就会报出语法错误来。

做个实验可验证:

function a(b){alert(b);}
a(01ttt)

在console下运行这段js,会报出错误:SyntaxError: Unexpected token ILLEGAL

与猜测一致,可定位问题原因。

修复:

$str .= sprintf('&nbsp&nbsp<a href="javascript:void(0);" onclick="modifyEssBrief(\'%s\');">编辑</a>', $val['_id']);

谨记:

在模板用php输出js函数的变量时,一定要加引号来明确标记此次输出是字符串,而不是变量。

javascript: 字符串拼接有问题的更多相关文章

  1. Javascript字符串拼接小技巧

    在Javascript中经常会遇到字符串的问题,但是如果要拼接的字符串过长就比较麻烦了. 如果是在一行的,可读性差不说,如果要换行的,会直接报错. 在此介绍几种Javascript拼接字符串的技巧. ...

  2. 浅谈JavaScript字符串拼接

    本文给大家汇总介绍了几种javascript中字符串拼接的方法,十分的简单实用,有需要的小伙伴可以参考下. 在JavaScript中会经常遇到字符串拼接,但是如果要拼接的字符串过长就比较麻烦了. 如果 ...

  3. 最优雅,高效的javascript字符串拼接

    这种方式是es6的语法.使用键盘1左边的那个字符 `` 拼接, 再加上js自带的模板引擎拼接字符串非常快速.这东西也没什么高深的,看几个例子就懂了. console.log(`<xml> ...

  4. JavaScript 字符串拼接 & setInterval()实现简单动画

    在学习JavaScript DOM编程艺术第十章时,遇到了一个小问题: 想要实现的最终效果:一个小方块不断的向下移动. 小方块绝对定位,设置好top与left值后,写了一个动态获取方块到上方距离并在每 ...

  5. javascript字符串拼接

    var c='../Project/SelectPerson.aspx?personList='+'"'+personListValue+'"' X('Window2').x_sh ...

  6. 谈JavaScript组合拼接字符串的效率 --转载

    JavaScript组合拼接字符串的效率.在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值 ...

  7. javascript中字符串拼接详解

    字符串拼接是所有程序设计语言都需要的操作.当拼接结果较长时,如何保证效率就成为一个很重要的问题.本文介绍的是Javascript中的字符串拼接,希望对你有帮助,一起来看.   最近在研究<jav ...

  8. JavaScript如何实现字符串拼接操作

    实际应用中,目标字符串的生成可能需要多个数据的拼接. 由于应用频繁,几乎是所有编程语言都必须掌握的操作,当然每种语言具有各自特点. 本文将通过代码实例详细介绍一下JavaScript如何实现字符串拼接 ...

  9. 【javaScript】js出现allocation size overflow以及字符串拼接优化

    字符串拼接长一点了,就出现了allocation size overflow异常! 先创建缓冲字符串数组,最后将数组转化为字符串 <script type="text/javascri ...

随机推荐

  1. 将可执行exe文件注册成windows服务

    要把应用程序添加为服务,你需要两个小软件:Instsrv.exe和Srvany.exe.Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行.这两个软件都包含 ...

  2. 微信小程序跳转页面

    小程序页面有2种跳转,可以在wxml页面或者js中: 1,在wxml页面中: <navigator url="../index/index">跳转到新页面</na ...

  3. JSON及与XML比较

      JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - Decem ...

  4. DapperHelper,SqlHelper

    using System;using System.Collections.Generic;using System.Data.Common;using System.Linq;using Syste ...

  5. 实验--DHCP服务器搭建

    系统环境:CentOS PC1: 客户端1(克隆CentOS) PC2: 客户端2(克隆CentOS) Router: 模拟路由器(克隆CentOS)

  6. 【LeetCode】463. Island Perimeter

    You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen ...

  7. java 导出excel(读数据库案例)

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...

  8. C# 语言规范_版本5.0 (第5章 变量)

    1. 变量 变量表示存储位置.每个变量都具有一个类型,用于确定哪些值可以存储在该变量中.C# 是一种类型安全的语言,C# 编译器保证存储在变量中的值总是具有合适的类型.通过赋值或使用 ++ 和 ‑‑ ...

  9. Hexo搭建静态个人博客

    Hexo简介 之前在Github上托管的博客就是使用jekyll搭建的,官方的Github Pages同样推荐使用它.我之前体验了一下jekyll,没有达到我想要的效果.于是寻找替代方案,搜索同类博客 ...

  10. Gentoo安装详解(四)-- 声卡设置

    硬件检测 To choose the right driver, first detect the used audio controller. You can use lspci for this ...