मैं अभी प्रोजेक्ट में कोड की एक पंक्ति पर ठोकर खा रहा हूं, जिसमें मैं वर्तमान में काम कर रहा हूं। मुझे लगता है कि मैं जावास्क्रिप्ट पर सभ्य हूं लेकिन ईमानदार होने के लिए, मुझे कोई संकेत नहीं है कि कोड की निम्न पंक्ति वास्तव में क्या करती है:जावास्क्रिप्ट कोड की यह पंक्ति संभवतः क्या कर सकती है?
var date = new (Function.prototype.bind.apply(Date, [null,].concat(buildDateParams(spec, base))));
क्या आप में से कोई जावास्क्रिप्ट गुरु संभवतः इस पर कुछ प्रकाश डाल सकता है?
buildDateParams
मानों की एक सरणी बनाना प्रतीत होता है। पूर्णता 'के लिए, यहाँ समारोह है:
function buildDateParams(spec, base) {
if (!spec.match(specRegExp)) {
throw new Error('Invalid spec string');
}
var specParts = spec.toLowerCase().split(':');
let params = [];
for (let fieldIndex in fields) {
let field = fields[fieldIndex];
let specPart = (fieldIndex < specParts.length)
? specParts[fieldIndex]
: '0';
if (!specPart.length) {
specPart = 'b';
}
let param = 0;
if (specPart.substr(0, 1) === 'b') {
param = base[field.getter]();
specPart = specPart.substr(1);
}
if (specPart.length) {
param += parseInt(specPart);
}
params.push(param);
}
return params;
}
ऐसा लगता है कि फ़ंक्शन संख्याओं की एक सरणी देता है, स्ट्रिंग नहीं। – Pointy
मैंने उस फ़ंक्शन में आगे की जांच नहीं की है, तो आप आसानी से सही हो सकते हैं। इसे "स्ट्रिंग्स" के बजाय "मानों" में समायोजित कर देगा। – connexo