LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

微信小程序如何像普通的js一样定义函数?

freeflydom
2026年6月3日 11:37 本文热度 124

:微信小程序如何像普通的js一样定义函数?

没有类似function test(str1,str2){console.log(str1+str2)}这种写法?还有这种页面绑定点击JS的写法 <div onclick="test('a','b')"></div> ?


你提到的 function test(str1, str2) { console.log(str1 + str2) } 这种普通 JavaScript 函数定义和传参方式,在微信小程序里完全支持。微信小程序的脚本代码就是 JavaScript,所以标准的函数定义、调用和参数传递语法都可以直接使用。

只是在小程序框架中,函数需要写在合适的位置,才能被正确调用。下面分几种常见情况来说明:


1️⃣ 在 Page 内部定义“普通函数”,并通过 this 调用

Page({ ... }) 里定义的函数,除了作为页面生命周期函数或事件处理函数外,也可以当作普通方法使用。它们可以通过 this.函数名(参数) 来调用。

javascript
Page({
  // 这是一个普通方法,可以接收参数
  test: function(str1, str2) {
    console.log(str1 + str2);
  },
  onLoad: function() {
    // 在生命周期函数里调用 test,并传参
    this.test('Hello', 'World');  // 输出: HelloWorld
  },
  handleClick: function() {
    // 在事件处理函数里调用 test
    this.test('点击了', '按钮');
  }
})

2️⃣ 在 Page 外部定义“独立函数”,并在 Page 内部调用

你也可以在 Page 构造器外面定义普通的函数,这些函数就像普通的 JavaScript 函数一样,直接通过函数名调用。

javascript
​// 另一个独立函数
function add(a, b) {
  return a + b;
}
Page({
  onLoad: function() {
    test('直接调用', '外部函数');   // 输出: 直接调用外部函数
    const sum = add(3, 5);         // sum = 8
  }
})

这种方式适合封装一些与页面状态无关的工具函数。

3️⃣ 在函数内部定义“嵌套函数”

函数内部当然也可以再定义函数,并传递参数,这和标准 JavaScript 完全一致。

javascript
Page({
  onLoad: function() {
    // 定义一个内部函数
    function innerTest(a, b) {
      return a * b;
    }
    
    const result = innerTest(3, 4);  // 调用并传参
    console.log(result); // 12
  }
})

🧠 关键区别:普通函数调用 vs 事件绑定传参

如果通过 WXML 事件绑定给事件处理函数传参(比如点击按钮时传值)。那种情况确实不能直接写 bindtap="test('a','b')",因为小程序会把引号内的内容整体当作函数名去查找。

在 JS 内部直接调用函数时,传参就是最普通的 JavaScript 语法,没有任何特殊限制。例如:

javascript
this.test('参数1', '参数2');   // 直接传参

所以,请放心使用你熟悉的函数传参方式。只是在不同的场景下(事件处理、页面间跳转),小程序提供了一些约定的参数传递机制(如 data-*options 等),但那些都是针对特定框架接口的补充。


✅ 总结

  • 在同一个 JS 文件内,函数定义和传参就是标准的 JavaScript 写法。

  • 你完全可以用 function test(str1, str2) { ... } 这样的普通函数,并根据需要放在 Page 内部或外部。

  • 如果函数需要被页面内的多个方法调用,通常建议放在 Page 内部(作为方法),并通过 this 调用。

  • 如果函数是纯工具逻辑,与页面数据无关,可以放在 Page 外部,或者单独写成模块(module.exports)后再引入。


该文章在 2026/6/3 11:37:24 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号