कैसे document.querySelectorAll('a')
एक
NodeList
से एक नियमित सरणी में परिवर्तित करता है ?
यह वह कोड है जो हमारे पास है,
[].slice.call(document.querySelectorAll('a'), 0)
पहले इसे नष्ट करने दें,
[] // Array object
.slice // Accessing the function 'slice' present in the prototype of Array
.call // Accessing the function 'call' present in the prototype of function object(slice)
(document.querySelectorAll('a'),0)
// 'call' can have arguments like, (thisArg, arg1,arg2...n).
// So here we are passing the 'thisArg' as an array like object,
// that is a 'nodeList'. It will be served as 'this' object inside of slice function.
// And finally setting 'start' argument of slice as '0' and leaving the 'end'
// argument as 'undefined'
चरण: 1 call
कार्य का निष्पादन
- अंदर
call
, के अलावा thisArg
, बाकी तर्कों को एक तर्क सूची में जोड़ा जाएगा।
- अब फ़ंक्शन
slice
को इसके this
मान के रूप में
बाध्य करके लागू किया जाएगा thisArg
(जैसे ऑब्जेक्ट ऑब्जेक्ट से आया था document.querySelector
) और तर्क सूची के साथ। यानी] तर्क start
जिसमें सम्मिलित है0
चरण: 2 slice
कार्य का निष्पादन अंदर दर्ज किया गयाcall
PS हमारे परिदृश्य की बेहतर समझ के लिए हमारे संदर्भ के लिए आवश्यक कुछ कदमों को कॉल और स्लाइस के मूल एल्गोरिदम से अनदेखा किया गया है ।
Array.prototype.slice.call(document.querySelectorAll('a'));
आपके द्वारा लिखे गए कोड का हिस्सा लिखने का एक उचित तरीका है।