2012-07-11 16 views
11

मैंने Google क्रोम डेवलपर टूल के साथ जावास्क्रिप्ट फ़ंक्शन में ब्रेकपॉइंट सेट किया है।मैं Google क्रोम डेवलपर टूल में स्कोप चर के माध्यम से कैसे खोज करूं?

मैं "फ्रेड" मूल्य के साथ फ़ंक्शन के दायरे चर में एक चर की तलाश में हूं। मैं फ़ंक्शन के दायरे में चर के बीच इस मान को कैसे खोजूं?

उत्तर

3

आप किसी विशेष पंक्ति पर क्रोम देवटूल के भीतर ब्रेकपॉइंट सेट कर सकते हैं, जो कि कहा गया चर के दायरे/संदर्भ में है। जब ब्राउज़र निष्पादन ब्रेकपॉइंट तक पहुंच जाता है, तो आपके पास इसके भीतर सभी वैरिएबल/फ़ंक्शंस, और वैश्विक, दायरे तक पहुंच होगी।

आप क्रोम के कंसोल का भी उपयोग कर सकते हैं और किसी भी वेरिएबल को आउटपुट कर सकते हैं जो मौजूदा दायरे में पहुंच योग्य है। Chrome DevTools के बारे में अधिक जानकारी के लिए देखें:

https://developers.google.com/chrome-developer-tools/

+1

धन्यवाद, मैं स्थापित किया था समारोह के भीतर एक ब्रेकपॉइंट और इस प्रकार चर के दायरे तक पहुंच है। अब मैं उस चर के लिए "फ्रेड" मान के साथ कैसे खोज करूं? इस समारोह में 100 स्थानीय चर हैं। – dangerChihuahua007

+0

प्रत्येक चर पर होवर करें, यह उस मूल्य के साथ एक पॉपअप दिखाएगा जो इसे असाइन किया गया है। – xandercoded

+0

असल में आप उन्हें ग्रहण डीबगर से एक्सेस कर सकते हैं यदि आपके पास क्रोम का हालिया संस्करण है: http://code.google.com/p/chromedevtools/wiki/Release_0_3_6#Function_Scope_and_Primitve_Values ​​ क्रोम इन-ब्राउजर देव-टूल्स जल्द ही इस के साथ मिलना चाहिए सुविधा। – beefeather

0
मैन्युअल कंसोल में

इस तरह से:

console.log(this); 

या

console.log({set x(){}}); 

जो के बराबर है:

console.log(Object.defineProperty({},'x',{get: function(){}})); 
,210

कंसोल में देखो:

get x: function(){} -><function scope> ->Global: Window

7

आप डेवलपर उपकरण डॉन के रूप में, ताकि आप वास्तव में एक खोज प्रदर्शन कर सकते हैं कंसोल के लिए एक स्क्रिप्ट जोड़ने की आवश्यकता होगी ' डिफ़ॉल्ट रूप से इसके लिए अनुमति नहीं है। यहाँ आप के लिए है कि समारोह है (एक अद्यतन के लिए नीचे मेरी सार टिप्पणी देखें):

function scanScope(whatToScan, scanValue) { 
 
\t for (var key in whatToScan) { 
 
\t \t if (whatToScan[key] == scanValue) { 
 
\t \t \t console.log(key + ' = ' + whatToScan[key]); \t \t 
 
\t \t } else { 
 
\t \t \t if((typeof whatToScan[key] === "object") && (key !== null)) { 
 
\t \t \t \t scanScope(whatToScan[key], scanValue); 
 
\t \t \t } 
 
\t \t } 
 
\t } 
 
}

कॉपी और पेस्ट करें कि कंसोल में, और उसके बाद गुंजाइश आप खोज करना चाहते से कॉल करने की जिसके माध्यम से आप खोजना चाहते हैं। सावधान रहें कि आप निश्चित रूप से एक वस्तु को बहुत अधिक खोज नहीं करते हैं। आप कोणीय में प्रोग्रामिंग तो कर रहे हैं, उदाहरण के लिए, और "हमेशा एक डॉट है" नियम का पालन, आप की तरह एक कॉल के साथ इसके माध्यम से स्कैन कर सकते हैं:

scanScope($scope.model, 'Fred');

+3

संयोग से मैंने इस स्क्रिप्ट का एक उन्नत संस्करण बनाया है (क्योंकि मुझे यह पसंद है और इसे अक्सर इस्तेमाल किया जाता है) और इसे एक गिस्ट के रूप में पोस्ट किया गया: https://gist.github.com/DorkForce/34eb9a1ebf14cc5b0ba7 –

संबंधित मुद्दे