js在拼接函数时,当传递的值为字符串是会出现问题,直接报错,不会进入到函数里,这是受就需要转义符来操作,
例如

var can ='object';
onClick='UpdateCollege(" + can + ")'

这时事件触发之后,浏览器会报错,当打开F12是,会看到提示UpdateCollege(object)
这时候就需要在点击事件哪里做操作,修改如下

onClick='UpdateCollege(\"" + can + "\")'

还有一个传对象的时候有一个问题,困扰了我很长时间,因为功能的需要所以需要将对象作为对象传值,也就是**【object,object】**类型的参数
以下是我传参失败的js代码

        success: function (data) {$("#body").empty();$("#StudentNum").html(data.Data.length)$(data.Data).each(function () {var can = {Id: this.Id,Name: this.CollegeName,Time: this.CreateTime,Dean: this.Dean}; //这里是修改过的代码,但是仍然不能用,直接将需要穿的参数一块写到对象里,然后将对象作为对象传值$("#body").append("<tr class= 'text-c va-m'  id='" + this.Id + "'>" +"<td style='width:80px;'><input name='ck' type='checkbox' value='" + this.Id + "' onclick='sss(" + this.Id + ")'></td>" +"<td style='width:80px;'>" + this.CollegeName + "</td>" +"<td style='width:80px;'>" + (this.CreateTime).slice(0, 10) + "</td>" +"<td style='width:80px;'>" + this.Dean + "</td>" +"<td style='width:80px;' class='td-manage'><a style='text-decoration:none' class='ml-5' onClick='UpdateCollege(" + can + ")' href='javascript:;' title='编辑'><i class='Hui-iconfont'></i></a></td>" +//这里的UpdateCollege(“+can+”)就是我的函数,但是这么传值会直接报错"</tr>");})

下面就是报的错
这里报错的原因是因为参数不能为对象,在传参之前需要转换一下,将对象转为json字符串的形式,之后就可以避免这个错误,传值成功

              var can = {Id: this.Id,Name: this.CollegeName,Time: this.CreateTime,Dean: this.Dean}; var canhou = JSON.stringify(can);//转换为json字符串onClick='UpdateCollege(" + canhou + ")'//修改后传的参数

关于js函数传参的问题相关推荐

  1. JS函数传参时:值传递与引用传递的区别

    JS函数传参时:值传递与引用传递的区别 一.先分析基础数据与复杂数据的区别 : 基本数据类型:Undefined.Null.Boolean.Number.String 引用数据类型:对象 如:var ...

  2. 论JS函数传参时:值传递与引用传递的区别

    JS函数传参时:值传递与引用传递的区别? 值传递:值传递的数据为基本数据类型,基本数据类型在内存中存放的是数值本身:值传递为单向传递,只能由实参传递给形参. 引用传递:引用传递的数据为复杂数据类型,复 ...

  3. js函数 传参 解密

    js 中的函数我们用了太多太多次了,但是关于函数的参数今天还是要说道说道. 1.js函数的参数分为两种,一种是显示参数,一种为隐式参数. 显示参数:在函数定义时列出 隐式参数:在函数调用时传递的参数值 ...

  4. js 函数传参实参包含路径“\”处理

    var test = "D:\blockchain\webapps\uxdm\WEB-INF\classes\com";                    //包含路径的实参 ...

  5. js函数传参时:值传递和引用传递的区别

    值传递是单向的传递,只能由实参传递给形参,而不能由形参传递给实参,因为值传递的数据,地址和值是一个内容,所以修改形参的数据不会影响到实参的数据.所以形参的改变不会影响到实参. 值传递就是在函数调用中函 ...

  6. JS一起学05:Date对象、封闭空间、函数传参和封装、获取非行间样式、字符串操作

    一.Date对象 1. 获取 oDate.getFullYear() 获取年份 oDate.getMonth()+1  获取月份 0-11----->1-12 oDate.getDate() 获 ...

  7. JS一起学02:函数传参、操作属性第二种方式、提取行间事件、循环、this、焦点问题、联动选择、选项卡焦点图

    一.函数传参     1.函数传参:参数就是占位符----函数里定不下来的东西 var a1=function(){ alert(123); }; function a(f){ // 相当于 f=a1 ...

  8. 函数传参之商品价格计算—JS学习笔记2015-6-6(第50天)

    经常我们可以看到很多网站会有多个相同功能的模块,比如淘宝首页的轮播,比如新浪首页的tab切换: 那么可以看出这些地方在HTML结构上是类似的,所以我们可以考虑用一块功能代码去实现,而不同是仅仅是传递参 ...

  9. JS中函数传参按照值传递

    ES语法中所有函数的参数都是按值传递的. 探讨函数参数按值传递问题: //1.参数被赋值为原始值 function add(num){num += 10;return num; } let count ...

  10. 事件——事件绑定||事件函数传参||事件修饰符||按键修饰符||自定义按键修饰符

    事件绑定 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...

最新文章

  1. Momenta获C轮5亿美元融资,上汽、丰田、博世等领投 | 九合系融资新闻
  2. matlab截图放不下,[转载]【MATLAB】MATLAB的自带数据及可生成数据的函数——图片形式...
  3. flask_sqlalchemy连接Mysql报TypeError: create_engine() got an unexpected keyword argument 'encoding'解决办法
  4. arcsde9.3 the arcsde repository is not successfully created
  5. hadoop之 YARN配置参数剖析—RM与NM相关参数
  6. boa服务器如何运行cgi,嵌入式WEB服务器BOA+CGI.ppt
  7. 使用electron脚手架electron-vue
  8. Linux c编译库路径,【一点一点学Linux C】交叉编译时候如何配置连接库的搜索路径...
  9. 利用一维数组求菲波那契数列前40项的和并输出结果。_[W2D2]斐波那契数列
  10. 杨森翔的书法:立马【五绝】
  11. 项目管理学习总结(12)——世界上最好的十条研发管理经验
  12. java motherfree video_Java Config 下的Spring Test方式
  13. Lottie-iOS的应用及部分源码分析
  14. 相亲中的最优停止理论-相亲中的数学
  15. 笔记本安装linux无线网卡,笔记本安装centos7 无线网卡启动不起来,那位大神看看?...
  16. MySQL中统计函数的使用
  17. 《Caffe Modle Zoo》
  18. python从入门到人生巅峰
  19. 【探花交友】今日佳人
  20. linux中如何查看mac地址

热门文章

  1. app自动化之monkey测试
  2. 使用U盘重装MacOS的简单步骤
  3. [Latex]visio画图导入矢量图到Latex | 裁剪pdf | 去掉pdf白边
  4. 每日算法刷题Day3-起始时间转换、二次方根、while连续输入、斐波那契思路
  5. 数学机器证明与机器验证
  6. 《SEM长尾搜索营销策略解密》一一1.2 用最低的价格获取转化
  7. autocad.net 画多段线_VB.net 在AutoCAD中绘制矩形云线
  8. Apache Web服务器安全配置全攻略
  9. AI周报丨多个国内团队使用人工智能揭示蛋白质相互作用;超参数调优河伯、组合优化器CompBO,华为诺亚开源贝叶斯优化库
  10. 记录deecamp2018之旅