扫码关注官方订阅号
目的是想得到内部函数的返回值,现在的函数值在最内层,看了很多关于闭包的,但是还是学艺不精无法实现想要的结果。
想在最外层的函数也就是226行位置操作c变量。
走同样的路,发现不同的人生
答案是 沒辦法,異步操作的限制你可以把 onSelected 想成是一個事件,你要在這事件觸發時做什麼?
沒辦法
onSelected
例如:
// 在 h1#show-date 顯示日期 function displayDate(c) { $('#show-date').html(c); } function dataCompare() { $('#ca').canlendar({ // 省略 onSelected: function(view, date, data) { // 省略 var c = odate-ndate; displayDate(c); } }) }
你可說說你的需求,例如說取得 c 要做什麼?
c
其实你这个demo中,onSelect是calendar的一个事件的回调函数,跟你像说明的闭包的概念还不太一样。所以你在onSelect这个回调函数中,如果想再讲某一个变量值传递出去,就需要继续采用回调函数来传递。
var f = function(){ var a = function() { // same code }; return a; } f()();
类似这种,说简单点。闭包就是在一个block中再次创建了一个内部的block,并将这个内部的block返回给外部来使用。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
答案是
沒辦法,異步操作的限制你可以把
onSelected想成是一個事件,你要在這事件觸發時做什麼?例如:
你可說說你的需求,例如說取得
c要做什麼?其实你这个demo中,onSelect是calendar的一个事件的回调函数,跟你像说明的闭包的概念还不太一样。所以你在onSelect这个回调函数中,如果想再讲某一个变量值传递出去,就需要继续采用回调函数来传递。
类似这种,说简单点。闭包就是在一个block中再次创建了一个内部的block,并将这个内部的block返回给外部来使用。