Javascript jQuery-这个语法是什么意思?
我正在看jquery.ui-1.8.11.js:Javascript jQuery-这个语法是什么意思?,javascript,jquery,Javascript,Jquery,我正在看jquery.ui-1.8.11.js: $.extend(Datepicker.prototype, { /* Class name added to elements to indicate already configured with a date picker. */ markerClassName: 'hasDatepicker', /* Debug logging (if enabled). */ log: function () {
$.extend(Datepicker.prototype, {
/* Class name added to elements to indicate already configured with a date picker. */
markerClassName: 'hasDatepicker',
/* Debug logging (if enabled). */
log: function () {
if (this.debug)
console.log.apply('', arguments);
},
什么是
log:function()
语法?它叫什么?如何使用它?调用$.extend
的第二个参数是一个对象。它们是使用大括号{}
和take键:值对定义的。该值可以是一个函数,这是日志发生的情况
这类似于以下内容:
var myObject = {
prop1: 'some value',
prop2: 'some other value',
method1: function () {
// some code here.
}
}
以后可以调用myObject.method1()
来执行函数中的任何代码。调用$的第二个参数。extend
调用是一个对象。它们是使用大括号{}
和take键:值对定义的。该值可以是一个函数,这是日志发生的情况
这类似于以下内容:
var myObject = {
prop1: 'some value',
prop2: 'some other value',
method1: function () {
// some code here.
}
}
以后可以调用myObject.method1()
来执行函数中的任何代码。它正在扩展日期选择器.prototype
对象上的对象属性
例如,在运行该语句后,可以执行以下操作:
alert(new Datepicker().markerClassName); // alert('hasDatepicker');
// OR
new Datepicker().log(); // calls the function
基本上,$.extend()
允许您使用附加属性修改对象(或覆盖它们)。考虑下面的对象:
var obj = { Text: 'Hello World' };
alert(obj.Text); // Hello World
$.extend(obj, {
Text: 'Something Else',
func: function() { alert('Stuff'); }
});
alert(obj.Text); // Something Else
obj.func();
它正在扩展Datepicker.prototype
对象上的对象属性
例如,在运行该语句后,可以执行以下操作:
alert(new Datepicker().markerClassName); // alert('hasDatepicker');
// OR
new Datepicker().log(); // calls the function
基本上,$.extend()
允许您使用附加属性修改对象(或覆盖它们)。考虑下面的对象:
var obj = { Text: 'Hello World' };
alert(obj.Text); // Hello World
$.extend(obj, {
Text: 'Something Else',
func: function() { alert('Stuff'); }
});
alert(obj.Text); // Something Else
obj.func();
此语法使用JavaScript原型来扩展Datepicker对象并添加其他属性和函数。这将添加Datepicker.log作为函数和Datepicker.markerClassName。此语法使用JavaScript原型来扩展Datepicker对象并添加其他属性和函数。这将Datepicker.log作为函数和Datepicker.markerClassName添加。第二个参数(以开头的大括号{
开始,以结尾的大括号}
结束)是$.extend()
调用的对象文本。一般来说,它是用新对象
显式创建对象的缩写。这大致相当于:
var foo = new Object;
foo.bar = 'bar';
及
还值得注意的是,函数的分配方式,它们是作为对象属性值分配的匿名函数。例如:
var foo = new Object;
foo.method1 = function() { ... };
也可以使用命名函数:
function fn1() { ...}
foo.method2 = fn1;
或:
或:
在JavaScript中,还有其他用于速记的文字,例如数组文字:
var arr = ['members', 'are', 'separated', 'by', 'commas'];
和RegExp文本(请注意,解析RegExp文本与将字符串传递给new RegExp()
)的转义规则不同):
$.extend()
调用的第二个参数(以开头的大括号{
开始,以结尾的大括号}
结束)是一个对象文本。一般来说,它是用新对象
显式创建对象的缩写。这大致相当于:
var foo = new Object;
foo.bar = 'bar';
及
还值得注意的是,函数的分配方式,它们是作为对象属性值分配的匿名函数。例如:
var foo = new Object;
foo.method1 = function() { ... };
也可以使用命名函数:
function fn1() { ...}
foo.method2 = fn1;
或:
或:
在JavaScript中,还有其他用于速记的文字,例如数组文字:
var arr = ['members', 'are', 'separated', 'by', 'commas'];
和RegExp文本(请注意,解析RegExp文本与将字符串传递给new RegExp()
)的转义规则不同):
这只是为正在指定的新原型提供的一个选项。最有可能用于处理新对象上的日志事件。“如果需要记录某些内容,请在启用调试时调用此函数”这只是为指定的新原型提供的一个选项。最有可能用于处理新对象上的日志事件。如果需要记录某些内容,请在启用调试的情况下调用此函数