()号中加{}是什么意思

eisldkw 2019-05-02 11:06:48
代码如下:
page(

{ data:
{ count : 0 }
,
countclick : function() {
this.setData ( { count : this.data.count+1 } );

}
}


以上这语法,感觉非常怪,请问:

1、page() 是什么东西
2、this.setData ( { count : this.data.count+1 } ) 这部分中 { count : this.data.count+1 } 放在()中是什么意思,是参数,还是其他什么东西,这语法怎么这么怪?
3、countclick : function() 部分放在{} 中是什么用法,它不是对象的属性吧,为什么能放在{}中
4、page()中放一{}对象,这是什么用法?
...全文
390 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello World, 2019-05-03
  • 打赏
  • 举报
回复
引用 7 楼 eisldkw 的回复:
[quote=引用 3 楼 Hello World, 的回复:]
page的函数体我也不知道在哪儿啊,你在VS中打开项目,光标移到这个函数名上,按F12看看,一般会导航到定义的地方。
jQuery和Angular也是Javascript,就像苹果和梨都是水果一样。
参数就是一些“对象”,在JS里所有东西都是对象,都可以用作参数(像字符串、数字、函数),这样的例子到处都是,比如ajax的回调等等


非常感谢,您是说此处的page()是调用page()这个函数,不是定义page()这个函数,对吗?[/quote]
是的,这里是调用,不是定义。
定义的话是:function page(){……},或者var page=function(){……}
eisldkw 2019-05-03
  • 打赏
  • 举报
回复
引用 3 楼 Hello World, 的回复:
page的函数体我也不知道在哪儿啊,你在VS中打开项目,光标移到这个函数名上,按F12看看,一般会导航到定义的地方。
jQuery和Angular也是Javascript,就像苹果和梨都是水果一样。
参数就是一些“对象”,在JS里所有东西都是对象,都可以用作参数(像字符串、数字、函数),这样的例子到处都是,比如ajax的回调等等


非常感谢,您是说此处的page()是调用page()这个函数,不是定义page()这个函数,对吗?
Hello World, 2019-05-02
  • 打赏
  • 举报
回复
page是一个函数,{}是参数,传递给page,另外一个也是一样的,countclick是一个属性,值是一个匿名函数,用function(){}来表示,{}是函数体
z_yemu 2019-05-02
  • 打赏
  • 举报
回复
page({}) {}指的是一个对象。而对象里面的 data:{},countclick() 这些都是 {} 对象的属性和方法。一般开发过程中并不是以一个固定名作为对象传递,在用 多参数传递时,往往将多个参数封装成一个对象,如 我要传递 pageSize 大小,currentPage 当前页,还有 list 数据列表, 我们通常会自定义一个对象 如 pageHelp = { pageSize: pageSize, currentPage: currentPage, list: list} 利用键值对来给对象属性赋值。传递给函数时就直接用 pageHelp 对象传递,有时为了方便写,就直接写 {pageSize: pageSize, currentPage: currentPage, list: list} 这个传递,而接受的时候是一样的效果,就只接受一个对象
天际的海浪 2019-05-02
  • 打赏
  • 举报
回复
page()是用户自定义的一个函数。page()函数调用时传的参数是一个对象。 {属性1: 值1, 属性2: 值2}这种是js中对象字面量。与数值或字符串一样可以放到任何表达式中,自然也可以放到函数的参数中。 当{出现在语句首,它是一个语句块。 当{出现在表达式中,它就是对象字面量。 js中的函数实际上是一个Function对象。 当function关键字出现在语句首,它是一条语句。 当function关键字出现在表达式中,它就是一条函数表达式。 函数是对象,自然也能与一般对象一样被传递赋值,也能赋值给另一个对象的属性。 作用域对象属性的函数也就是对象的方法或事件。
z_yemu 2019-05-02
  • 打赏
  • 举报
回复
引用 2 楼 eisldkw 的回复:
[quote=引用 1 楼 Hello World, 的回复:] page是一个函数,{}是参数,传递给page,另外一个也是一样的,countclick是一个属性,值是一个匿名函数,用function(){}来表示,{}是函数体
非常感谢,如您所说,page()是一个函数,它的函数体在哪儿?还有这是什么语法,是JAVASCRIPT还是jquery,还是Angular,怎么写法这么怪呀,怎么在()这种放参数的地方还放了函数。 非常感谢。[/quote] 这个是微信小程序的写法,微信小程序特有封装的语法,不完全等价于 javaScript,但是语法跟 javascript 差不多,Page是个函数,当前页面函数,类似于一js的 onLoad 函数,一开始就会调用,但是 Page({参数}) 函数,也有自己的生命周期,所以两者是由区别的,参数 放的东西可以是有约定的。 data:{键值对数据} 存放的是数据信息,一般是用来绑定的,在countclick : function() 中 用 this.setData 就可以来设置 data:{键值对数据} 里面的数据,用 this.data.(key) 就可以获取到对应属性的数据,写法类似于 vue。
Hello World, 2019-05-02
  • 打赏
  • 举报
回复
page的函数体我也不知道在哪儿啊,你在VS中打开项目,光标移到这个函数名上,按F12看看,一般会导航到定义的地方。
jQuery和Angular也是Javascript,就像苹果和梨都是水果一样。
参数就是一些“对象”,在JS里所有东西都是对象,都可以用作参数(像字符串、数字、函数),这样的例子到处都是,比如ajax的回调等等
eisldkw 2019-05-02
  • 打赏
  • 举报
回复
引用 1 楼 Hello World, 的回复:
page是一个函数,{}是参数,传递给page,另外一个也是一样的,countclick是一个属性,值是一个匿名函数,用function(){}来表示,{}是函数体


非常感谢,如您所说,page()是一个函数,它的函数体在哪儿?还有这是什么语法,是JAVASCRIPT还是jquery,还是Angular,怎么写法这么怪呀,怎么在()这种放参数的地方还放了函数。
非常感谢。

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧