提問(wèn):jQuery.Callbacks的配置為什么是用字符串參數(shù)?
jQuery.Callbacks有四種配置,分別是once、memory、unique、stopOnFalse。而jQuery.Callbacks的配置形式卻和以往我們熟悉的不同,不是使用json,而是使用字符串的形式配置的,這是為什么呢?
答:jQuery.Callbacks的配置形式,確實(shí)很怪異,jQuery.Callbacks使用了一個(gè)createOptions函數(shù)將字符串轉(zhuǎn)為了json。
var rnotwhite = ( /\S+/g ); function createOptions( options ) { var object = {}; jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { object[ flag ] = true; }); return object; }
如"once memory unique"字符串,最終會(huì)轉(zhuǎn)為{"once":true,"memory":true,"unique":true}。但是筆者想問(wèn)為什么不直接使用json呢?
像這種使用字符串配置的形式,JavaScript中也是有的,js中的正則表達(dá)式就是這種配置形式。