Chrome এ জাভাস্ক্রিপ্ট ফাংশন সংজ্ঞা খুঁজুন


282

ক্রোমের বিকাশকারী সরঞ্জামগুলি শিলা, তবে একটি জিনিস যা তাদের কাছে মনে হয় না (যা আমি খুঁজে পেতে পারি) একটি জাভাস্ক্রিপ্ট ফাংশনটির সংজ্ঞা সন্ধান করার একটি উপায়। এটি আমার পক্ষে খুব সহজ হবে কারণ আমি এমন একটি সাইটে কাজ করছি যাতে অনেকগুলি বাহ্যিক জেএস ফাইল অন্তর্ভুক্ত থাকে। অবশ্যই গ্রেপ এটি সমাধান করে তবে ব্রাউজারে আরও ভাল। মানে ব্রাউজারটি এটি জানতে হবে, তবে কেন এটি প্রকাশ করবেন না? আমি যা প্রত্যাশা করছিলাম তা এমন কিছু ছিল:

  • পৃষ্ঠা থেকে 'উপাদান পরিদর্শন করুন' নির্বাচন করুন, যা উপাদান ট্যাবে লাইনটি হাইলাইট করে
  • লাইনে ডান ক্লিক করুন এবং 'ফাংশন সংজ্ঞাতে যান' নির্বাচন করুন
  • সঠিক স্ক্রিপ্ট স্ক্রিপ্টস ট্যাবে লোড হয় এবং এটি ফাংশন সংজ্ঞাতে লাফিয়ে যায়

প্রথমত, এই কার্যকারিতাটি কি বিদ্যমান এবং আমি কেবল এটি মিস করছি?

এবং যদি এটি না ঘটে তবে আমি অনুমান করছি যে এটি ওয়েবকিট থেকে আসবে, কিন্তু বিকাশকারী সরঞ্জাম বৈশিষ্ট্য অনুরোধ বা ওয়েবকিটের বাগজিলার জন্য কিছুই খুঁজে পেল না


3
স্ক্রিপ্টস ট্যাবে বর্তমান ফাইলটি গ্রেপ করে এমন একটি অনুসন্ধান বার রয়েছে এবং আপনি এটি মুদ্রণ করে কোনও ফাংশনের বিষয়বস্তুতে উঁকি দিতে পারেন। আপনার পছন্দের মতো আরও সাধারণ অনুসন্ধান করার যদি কোনও উপায় থাকে তবে আমি এখন
কৌতূহল করছি

3
গুগল ক্রোম বিকাশকারী সরঞ্জামগুলির সাথে, "উত্স" এ আলতো চাপুন -> ডান উইন্ডোতে আপনাকে "ইভেন্ট ব্রেকপয়েন্ট" সেট করার সম্ভাবনা থাকতে হবে।

আমার ক্ষেত্রে আমার একটি অজানা ফাংশনে পরিবর্তনশীল সেট ছিল। আমি myvar.toString () করেছি এবং এটি মুদ্রিত: "ফাংশন অবজেক্ট () {[নেটিভ কোড] which" যা আমার জানা দরকার।
রিং করুন

উত্তর:


366

বলুন যে আমরা নামের ফাংশনটি খুঁজছি foo:

  1. (ক্রোম দেব-সরঞ্জামগুলি খুলুন),
  2. উইন্ডোজ: ctrl+ shift+ F, বা ম্যাকোস: cmd+ optn+ F। এটি সমস্ত স্ক্রিপ্ট জুড়ে অনুসন্ধানের জন্য একটি উইন্ডো খুলবে।
  3. "নিয়মিত অভিব্যক্তি" চেকবক্সটি পরীক্ষা করুন,
  4. অনুসন্ধান করুন foo\s*=\s*function( foo = functionএই তিনটি টোকেনের মধ্যে যে কোনও স্থানের সাথে সন্ধান করুন),
  5. একটি ফিরে ফলাফল উপর টিপুন।

ফাংশন সংজ্ঞা জন্য আরেকটি বৈকল্পিক function\s*foo\s*\(জন্য function foo(যারা তিন টোকেন মধ্যে শূণ্যস্থান যে কোন সংখ্যার সঙ্গে।


8
এখন এটাই আমি কথা বলছি! ফলকটির অস্তিত্ব সম্পর্কেও আমার ধারণা ছিল না - এবং আপনি কীভাবে করবেন?
রায়ান ডুভাল


2
নামের একটি ফাংশন সংজ্ঞায়িত করার এটি কেবলমাত্র একটি উপায় foo। অন্যরাও আছেন। আমাদের ফাংশন যেমন যদি bar['foo']? (এই প্রশ্নের উত্তম উত্তর নেই, যতদূর আমি জানি --- এটি মূলত "সংশ্লেষিত কোডটি লিখবেন না")
স্টিভেন লু

1
আমি নির্বাচিত উত্তর ব্যবহার করে "ফাংশন সংজ্ঞা" খুঁজে পাই না। আমি গুগলে অনুসন্ধান করেছি এবং কোনও সাহায্য পাইনি। (ক্রোম সংস্করণ 41.0.2272.118 মি ব্যবহার করে)
ওয়েব_ডিপোপার

7
এবং তারপরে আপনি ফাংশন ঘোষণা, গতিশীলভাবে উত্পন্ন ফাংশন এক্সপ্রেশন এবং বেনামী (নামবিহীন) ফাংশনগুলি খুঁজে পেতে ব্যর্থ হন। আমি বরং ফায়ারফক্সের মতো কিছু চাই: ঘড়ির প্যানেলে ফাংশন রেফারেন্সটি ক্লিক করুন -> ফাংশন রেফারেন্সটিতে যান।
ফাগনার ব্র্যাক

77

এটি 2012-08-26 এ ক্রোমে অবতরণ করেছে সঠিক সংস্করণ সম্পর্কে নিশ্চিত নয়, আমি এটি ক্রোম 24 এ লক্ষ্য করেছি।

একটি স্ক্রিনশট এক মিলিয়ন শব্দের মূল্যবান:

 ক্রোম দেব সরঞ্জামসমূহ> কনসোল> ফাংশন সংজ্ঞা দেখান

আমি কনসোলের পদ্ধতিগুলির সাহায্যে কোনও বস্তু পরিদর্শন করছি। "ফাংশন সংজ্ঞা দেখান" ক্লিক করে আমাকে উত্স কোডের সেই জায়গায় নিয়ে যায় যেখানে ফাংশনটি সংজ্ঞায়িত করা হয়। অথবা আমি কেবল function () {একটি টুলটিপে ফাংশন বডি দেখতে শব্দটি ঘুরে দেখতে পারি। আপনি সহজেই পুরো প্রোটোটাইপ চেইনটি এইভাবে পরিদর্শন করতে পারেন! সিডিটি অবশ্যই রক !!!

আশা করি আপনারা সবাই এটিকে সহায়ক বলে মনে করেন!


1
একটি শর্টকাট বা একটি ফাংশন আছে যা কোনও ফাংশন রেফারেন্স দ্বারা অনুসন্ধানের অনুমতি দেবে? "> পরিদর্শন করুন (ডকুমেন্ট.বডি)" like আপাতত আমাকে d> tmp = {a: myFunc}; > টিএমপি, তারপরে "ফাংশন সংজ্ঞা দেখান"
ডেনিস সি

16
আমি মনে করি আপনি করতে পারেনdir(myFunc)
দিমিত্রি পশকভিচ

dir (myFunc) অনেক ভাল, তবে এখনও দুটি ক্লিক এবং মাউস দরকার
ডেনিস সি

1
ওহ, আপনি কিবোর্ড থেকে সম্পূর্ণরূপে এটি করতে পারছেন বলতে চাইছেন? এরকম কিছু findDefinition(myFunc)? আফাইক যা এখনও বিদ্যমান নেই ...
দিমিত্রি পশকভিচ

আপনার যদি ফাংশনযুক্ত কোনও বস্তু না থাকে তবে আপনি এটির চারপাশে একটি বস্তু তৈরি করতে পারেন এবং এটি এখনও কাজ করবে। কনসোল প্রকারে যেমন:, ({1:somefunction})তারপরে মুদ্রিত বস্তুর ভিতরে ফাংশনটিতে ডান ক্লিক করুন।
রক্ষক এক

47

আপনি এর মত কনসোলে এর নামটি মূল্যায়ন করে ফাংশনটি মুদ্রণ করতে পারেন

> unknownFunc
function unknownFunc(unknown) {
    alert('unknown seems to be ' + unknown);
}

এটি অন্তর্নির্মিত ফাংশনগুলির জন্য কাজ করবে না, তারা কেবল [native code]উত্স কোডের পরিবর্তে প্রদর্শন করবে ।

সম্পাদনা : এটি বোঝায় যে ফাংশনটি বর্তমান ক্ষেত্রের মধ্যে সংজ্ঞায়িত করা হয়েছে।


1
এটি আমার পক্ষে কাজ করে না (এমনকি পৃষ্ঠার মধ্যে ডাব্লু / ফাংশন সংজ্ঞায়িত):> টগল_সার্চ রেফারেন্স এরর: টগল_সার্চ সংজ্ঞায়িত করা হয়নি
রায়ান ডুভাল

আহ, আমার সম্পাদনা দেখুন। অন্যথায়, অনুসন্ধান ক্রিয়াকলাপটি আপনাকে সহায়তা করবে। ক্রোম ডেভলগুলি কোনও আইডিই নয়, এটি একটি ডিবাগার :)
জোয়ার

1
এটি বর্তমানে ফাংশনের সক্রিয় সংজ্ঞা সন্ধানের জন্য কাজ করে।
প্যাট্রিক

1
এটি প্রকৃতপক্ষে বোঝায় যে ফাংশনটি বর্তমান সুযোগের মধ্যে সংজ্ঞায়িত করা হয়েছে ।
জোনাথন

1
@ অ্যারোথ কমপক্ষে ক্রোম ৪৫ এ আবার কাজ করে। আমি জানি যে পোস্টগুলি পোস্ট করার সময় এবং এখন এই বিষয়গুলি অভ্যন্তরে কোথাও বদলেছে। শেষ পর্যন্ত, এটি আবার কাজ বলে মনে হচ্ছে।
জোয়ার

32

2016 আপডেট : ক্রোম সংস্করণে 51.0.2704.103

একটি Go to memberশর্টকাট আছে (তালিকাভুক্ত settings > shortcut > Text Editor)। আপনার sourcesফাংশনযুক্ত ফাইলটি খুলুন ( দেবটুলগুলির প্যানেলে) এবং টিপুন:

ctrl+ shift+O

বা ওএস এক্সে:

+ shift+O

এটি বর্তমান ফাইলের সদস্যদের তালিকা করতে এবং পৌঁছাতে সক্ষম করে।


1
ভাল, এটি যা করায় মনে হয় তা একটি স্বেচ্ছাসেবী ফাংশন কলের "সংজ্ঞাতে যান" নয়, "বর্তমান ফাইলে সমস্ত ফাংশনের নামগুলি আপনাকে দেখায় এবং আপনাকে তাদের কাছে যেতে দেয়" - এটিও খুব দরকারী।
স্কট ওয়েভার

এটি ঠিক আমি যা খুঁজছিলাম, ফায়ারফক্সের অনুরূপ একটি বৈশিষ্ট্য! ফায়ারফক্সে আপনি সহজেই ডিভাইসগুলি খুলতে পারবেন, Ctrl + f টিপুন এবং এটি সমস্ত প্যানে জেএস ফাংশনটি অনুসন্ধান করবে (এইচটিএমএল / সিএসএস / জাভাস্ক্রিপ্ট / ইত্যাদি)। এটি অন্যান্য জবাবগুলিতে উল্লিখিত রেগেক্স বৈশিষ্ট্যগুলির বিপরীতে এটি করে।
javaBean007

@ র্যান্ডি, ক্রোমের কোন সংস্করণে? কোন ওএস? আমি ওএস এক্সে ক্রোম সংস্করণ 59.0.3071.115 ব্যবহার করি এবং এটি দুর্দান্ত কাজ করে।
আর্থার.এসডাব্লু

@ arthur.sw দুঃখিত, আমি বুঝতে পারি নি যে এটি কাজ করার জন্য আপনার উত্স হতে হবে। আমি এটি কনসোলটিতেও কাজ করবে বলে আশাবাদী।
র্যান্ডি

আমি দেব কনসোলে কী কী সমন্বয়টি টিপলে আমার জন্য একটি ক্রোম মেনু খোলে।
কালো

19

ফাংশন সংজ্ঞায়নের স্থানে নেভিগেট করার আরেকটি উপায় হ'ল ডিবাগারটি ভেঙে আপনি কোথাও ফাংশনটি অ্যাক্সেস করতে পারবেন এবং কনসোলে পুরোপুরি যোগ্য নামটি প্রবেশ করতে পারবেন। এটি কনসোলে ফাংশন সংজ্ঞাটি মুদ্রণ করবে এবং একটি লিঙ্ক দেবে যা ক্লিক করে স্ক্রিপ্টের অবস্থানটি খোলে যেখানে ফাংশনটি সংজ্ঞায়িত করা হয়েছে।


17

বিভিন্ন ব্রাউজার এটি আলাদাভাবে করে।

  1. পৃষ্ঠায় ডান ক্লিক করে এবং "পরিদর্শন উপাদানটি" ​​নির্বাচন করে বা আঘাত করে প্রথমে কনসোল উইন্ডোটি খুলুন F12

  2. কনসোলে টাইপ করুন ...

    • ফায়ারফক্স

      functionName.toSource()
    • ক্রৌমিয়াম

      functionName

আমি যে ফাংশনটি সন্ধান করছি তা হ'ল স্টপ () এবং এটি onmouseover = "this.stop ();" হিসাবে ব্যবহৃত হয় যখন আপনি যা বলেন আমি তা করি, তবে এটি ফিরে আসে: বন্ধ করুন () native [নেটিভ কোড]} তাহলে এখন কী করব?
তারিক

functionName.toSource()সর্বশেষতম ক্রোম সংস্করণেও কাজ করে।
সৌরভ ঘোষ

1
@ তারিক অন্তর্নির্মিত জন্য অনলাইন ডকুমেন্টেশন দেখুন stop
তহবিল মনিকার लॉসুইট

@ কিপেসট্যাক্স ধন্যবাদ, আমি এখন বুঝতে পারি যে এটি যখন ফিরে আসে: থামান () {[নেটিভ কোড]} সেখানে নেটিভ কোড মানে এটি কোনও ব্যক্তিগত ফাংশন নয়, এটি অভ্যন্তরীণ ফাংশন এবং আমার ফাংশনটির অনলাইন ডকুমেন্টেশনগুলি সন্ধান করা উচিত।
তারিক

6

ক্রোম কনসোলে:

debug(MyFunction)
MyFunction()

1
আমি এটা পছন্দ করি। লক্ষণীয়: undebug(MyFunction)আবার ব্রেকপয়েন্টটি মুছে ফেলতে একটি করুন (পদ্ধতিটি প্রয়োগের পরে আপনি খুঁজে পেয়েছেন)
আন্দ্রেয়াস ডল্ক

5

আমি গ্লোবাল ফাংশন সনাক্ত করার দ্রুততম উপায়টি সহজভাবে:

  1. উত্স ট্যাব নির্বাচন করুন ।
  2. ইন ওয়াচ ফলকে ক্লিক + + লিখুন জানালা
  3. আপনার বৈশ্বিক ক্রিয়াকলাপের রেফারেন্সগুলি প্রথমে বর্ণানুক্রমিকভাবে তালিকাভুক্ত করা হয়েছে।
  4. আপনি আগ্রহী ফাংশন ডান ক্লিক করুন।
  5. পপআপ মেনুতে ফাংশন সংজ্ঞা দেখান নির্বাচন করুন
  6. উত্স কোড ফলকটি সেই ফাংশন সংজ্ঞায় স্যুইচ করে।

1

গুগল ক্রোমে, উপাদান সরঞ্জামটি পরীক্ষা করুন আপনি যে কোনও জাভাস্ক্রিপ্ট ফাংশন সংজ্ঞা দেখতে পারবেন।

  1. উত্স ট্যাবে ক্লিক করুন। তারপরে সূচী পাতাটি নির্বাচন করুন। ফাংশনটি অনুসন্ধান করুন।

এখানে চিত্র বর্ণনা লিখুন

  1. ফাংশনটি নির্বাচন করুন তারপরে ফাংশনে ডান ক্লিক করুন এবং "কনসোলে নির্বাচিত পাঠ্য মূল্যায়ন করুন" নির্বাচন করুন।

এখানে চিত্র বর্ণনা লিখুন


1

আপনি যদি ইতিমধ্যে ডিবাগিং করে থাকেন তবে আপনি ফাংশনটি ঘুরে দেখতে পারেন এবং টুলটিপ আপনাকে ফাংশন সংজ্ঞাতে সরাসরি নেভিগেট করার অনুমতি দেবে:

ক্রোম ডিবাগার ফাংশন টুলটিপ / ডেটাটিপ

আরও পড়া :


0

কোনও অবজেক্টের পদ্ধতির উত্স খুঁজতে আমার একইরকম সমস্যা হয়েছিল। বস্তুর নাম ছিল myTreeএবং এর পদ্ধতিটি ছিল load। পদ্ধতিটি যে লাইনে ডাকা হয়েছিল আমি লাইনটিতে একটি ব্রেকপয়েন্ট রেখেছি। পৃষ্ঠাটি পুনরায় লোড করার পরে, মৃত্যুদন্ড কার্যকর করা বন্ধ হয়েছিল point তারপরে ডেভটুলস কনসোলে, আমি পদ্ধতির নামের সাথে বস্তুটি টাইপ করেছি myTree.loadএবং এন্টার টিপুন। পদ্ধতির সংজ্ঞাটি কনসোলে মুদ্রিত হয়েছিল:

এখানে চিত্র বর্ণনা লিখুন

এছাড়াও, সংজ্ঞাটিতে ডান ক্লিক করে, আপনি উত্স কোডে এর সংজ্ঞাতে যেতে পারেন:

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.