js里声明函数有几种方式? var abc = function(x){} 和 function abc(x){} 这两种声明方法有什么不同?

先后者是指函数声明,前者是指函数表达式,他们之间的区别是后者会在代码执行之前被JS解释器加载到作用域中,这样一来就可以在编程时在定义函数之前调用这个函数,此法是有效的;而前者则是在代码执行到那一行时候才会有定义,此外函数表达式是创建了一个匿名函数,然后将匿名函数赋值给一个变量。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是一个小程序页面的事件处理函数中的一段代码,实现了对购物车中商品数量和价格的计算以及商品的添加功能,具体实现如下: - dishesList1.forEach(function(item, index) { ... }) 表示遍历菜品列表(即 dishesList1 数组),找到与当前点击的菜品 id 匹配的菜品。 - if (item.id == id) { ... } 表示当找到匹配的菜品时,执行后面的代码块。 - var dis = dishesList1[index].num 表示声明一个变量 dis,该变量为当前菜品的数量。 - dishesList1[index].num += 1; 表示将当前菜品的数量加 1。 - var cart1 = that.data.cart; 表示获取当前页面的购物车对象。 - if (cart1.length > 0) { ... } 表示当购物车中已经存在商品时,执行后面的代码块。 - var abc = false 表示声明一个变量 abc,该变量的初始值为 false。 - var i = 0; 表示声明一个变量 i,该变量的初始值为 0。 - cart1.forEach(function(item1, index1) { ... }) 表示遍历购物车中已存在的商品,找到与当前点击的菜品 id 匹配的商品。 - if (id == item1.id) { ... } 表示当找到匹配的商品时,执行后面的代码块。 - abc = true; 表示将变量 abc 的值改为 true。 - i = index1; 表示将变量 i 的值改为匹配商品的下标。 - if (abc) { ... } 表示当购物车中已存在匹配的商品时,执行后面的代码块。 - cart1[i].num += 1; 表示将购物车中匹配商品的数量加 1。 - else { ... } 表示当购物车中不存在匹配的商品时,执行后面的代码块。 - cart1.push({ id: id, num: 1 }) 表示向购物车中添加新的商品,商品 id 为当前点击的菜品 id,数量为 1。 - console.log(JSON.stringify(cart1)) 表示将购物车对象转为 JSON 格式的字符串并输出到控制台。 - that.setData({ ... }) 表示更新页面的数据对象,将菜品列表、购物车商品数量、购物车商品总价以及购物车对象进行更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值