TeaMeow 的懶人教室 —— 條件式
這裡是我本身會寫的懶人作法,有時候會讓程式更簡潔,通常是 PHP 或者 JS 都可以用。
如果⋯⋯
你可以把「如果怎樣,這個值就怎樣的」方式縮短,例如原本:
if($Foo)
{
$Bar = 'OK';
{
else
{
$Bar = 'Not OK';
}
可以變成
if($Foo)
$Bar = 'OK';
else
$Bar = 'Not OK';
更可以變成
$Foo = ($Bar) ? 'OK'
: 'Not OK';
必須⋯⋯
有時候你會用「IF 去框住,例如必須大於多少,才可以」的方式,大概是:
function Foo($Bar)
{
// 必須大於 50 才執行下面語句
if($Bar > 50)
{
$Msg = 'Im Really OK.';
$Time = time();
}
}
可以改成
function Foo($Bar)
{
// 直接在開頭就先做了斷
if($Bar > 50) return;
$Msg = 'Im Really OK.';
$Time = time();
}
Tocas 的新功能 「Binder」
其實這個功能是看到這一篇「Backbone 的 View」有感而發的,
在 Backbone.js 裡面這裡的範例是這樣:
events:
{
"click #add-friend": "showPrompt",
"click .delete" : "delete_li"
}
我想說:「喔?還不錯。」
然後就打算自己也在 Tocas 加了一個類似的功能,不過寫法不同,
因為看起來 Backbone.js 是透過「空白」來區隔「事件」跟「元素」的,
但是我想說有時候可能會加很多「事件」,有時候可能會有很多「元素」,或者很多「回傳」。
Tocas 做法
所以我後來研發出來的寫法是這樣:
$.binder = function(Binds)
{
for(var i in Binds)
{
/** Split the event and the target first */
var Splits = i.split('|'),
/** The first array is events */
Events = Splits[0],
/** Split the targets */
Targets = Splits[1].split('&')
/** Each target */
for(var t in Targets)
if(Binds[i].isArray)
/** Bind each callback if it's a callback array */
for(var f in Binds[i])
$(Targets[t]).on(Events, Binds[i][f])
else
$(Targets[t]).on(Events, Binds[i])
}
}
用法
$.binder
({
'click | img & a' : meow.addNew,
'mouseover | img' : meow.removeNew
})
翻譯成中文可以像這樣
$.binder
({
'事件 事件 事件 | 元素 & 元素' : 回傳,
'事件 | 元素' : [回傳, 回傳]
})
所以你可以有多個事件,或是多個元素,甚至多個回傳(用陣列包起來)。
比照圖
看起來至少比下面的一般 $.on 還要好多了 ..
根本人生指導大師。
Stackoverflow 真是無奇不有。
原文:http://stackoverflow.com/questions/9089953/can-you-have-a-span-within-a-span
Avane 真是太好用了
筆記-人名
這篇基本上可以無視,只是暫時筆記一下 TeaMeow 的其他服務:
Avane(亞凡芽)
Iknore(愛諾若)
Orenji(橙希)Shiroi(白音)
Aoi
Caris(卡莉絲・伊繁特)
Filary(緋莉瑞)
The Fuck — 全新的操作方式。
雖然是舊 Repo 但是我看得笑到不能停啊,用法大概就是:
先輸入一段你的指令,後來再輸入「fuck」就會順利執行。
真的是太有梗了,記得台灣人也有在 cmd 玩過「幹你娘給我關機」的指令 wwwww









