日期选择器
datepicker
是一个函数。该函数使用括号调用,('getDate')
由于此参数的值为'getDate'
,它返回一个 JavascriptDate
对象,该对象是本机 Javascript 并具有该getFullYear
功能。
有关. _ _datepicker
getDate()
Returns: Date
Returns the current date for the datepicker or null if no date has been selected.
This method does not accept any arguments.
Code examples:
Invoke the getDate method:
var currentDate = $( ".selector" ).datepicker( "getDate" );
Javascript 概念
对 Javascript 有帮助的一个关键概念是理解函数调用和函数引用之间的区别。请参阅我的另一个更详细的 javascript 答案。一旦你理解了这一点,你就会明白为什么“日期选择器是一个方法还是一个对象”必须用“它是一个函数对象”来回答。
在 Javascript 中,函数只是特殊的对象,可以通过在其名称后添加一对括号来调用。这样做不会返回函数对象本身,而是返回函数对象返回的任何内容,其中包含return somethingHere;
. 它可以帮助您阅读更多关于原型继承的信息。
jQuery 概念
jQuery 利用了 Javascript 的链接能力。这是您调用函数的地方,该函数返回一个对象,您可以在该对象上调用另一个函数——一次又一次。另一种使用模式是为链的每个步骤声明变量并采取单个步骤,但这会变得混乱,通常我们都希望避免在不必要的地方声明变量。如果我们要转换您的代码以便没有链接,它可能看起来像这样:
var dateAccessedInput, selectedDate, year;
dateAccessedInput = $("input[name=dateAccessed]");
selectedDate = dateAccessedInput.datepicker('getDate');
year = selectedDate.getFullYear();
在 jQuery 中,一个 jQuery 函数在可能的情况下返回相同的 jQuery 对象是常见的做法,这样您就可以将另一个方法链接到它之外。当链接变长时,您甚至可以将它们放在单独的行上,以帮助防止它变成大块。这是我的一个项目中的一些真正的 javascript jQuery 代码:
incident
.wireUp($('div.incidents div.incident'))
.find('input:data(focus)')
.first()
.focus()
.filter(':data(select)')
.trigger('select');
我希望这可以更清楚地说明为什么可以将不同的功能链接在一起。
此外,就其价值而言,Javascript 具有函数,虽然是的,它们是方法,但我们通常不这样称呼它们。