জেএসলিন্ট: এটি সংজ্ঞায়িত হওয়ার আগে ব্যবহার করা হয়েছিল


95

হাই আমার কাছে 3 টি জাভাস্ক্রিপ্ট ফাইল রয়েছে।

  • jquery.js
  • ইউটিলিটি.জেএস
  • file1.js

File1.js এ আমার আছে

jQuery.noConflict()
jQuery(document).ready(function($) { 
 // ....
});

সংজ্ঞা দেওয়ার আগে আমি একটি ত্রুটি 'jQuery' ব্যবহার করেছি get এটি সংজ্ঞায়িত হওয়ার আগে 'ডকুমেন্ট' ব্যবহার করা হত।

আমি কীভাবে নিরাপদে এই সতর্কতা থেকে মুক্তি পাব।

যদি আমি করি

var document = document || {}; 

তারপরে আমার ইউটিলিটি.জেজে যদি এটি ব্যবহার করা হয় তবে এটি আইইতে বাতিল এবং ফায়ারফক্সে ঠিক আছে।

এর সর্বোত্তম সমাধান কী?


জেএস লিন্টের সম্ভাব্য সদৃশ : এটি সংজ্ঞায়িত করার আগে 'শর্টকাট' ব্যবহার করা হয়েছিল । এছাড়াও, নিশ্চিত করুন যে আপনার পছন্দগুলিতে বিকল্প ব্রাউজার নির্বাচন করা আছে ume
অ্যান্ডি ই

@ চুনপিংওয়াং লক্ষ্য করেছেন যে আপনি এখনও এসওতে সক্রিয় ছিলেন এবং এই প্রশ্নের একটি স্বীকৃত উত্তর অনুপস্থিত। এই উত্তরগুলির মধ্যে দুটিতে কি সেগুলি গ্রাহ্য হওয়ার জন্য প্রয়োজনীয় কিছু অনুপস্থিত রয়েছে? দেখে মনে হচ্ছে কোয়ান্টিনের উত্তর সমস্যার সমাধান করবে। আপনার প্রশ্নের উত্তর দেওয়ার জন্য কোনও অতিরিক্ত তথ্য দরকার?
রাফিন

উত্তর:


169

ডকুমেন্টেশন থেকে

জেএসলিন্ট একটি / * গ্লোবাল * / নির্দেশকেও স্বীকৃতি দেয় যা জেএসলিন্টকে নির্দেশ করতে পারে যে এই ফাইলটিতে ব্যবহৃত ভেরিয়েবলগুলি অন্যান্য ফাইলে সংজ্ঞায়িত করা হয়েছিল। মন্তব্যে কমা দ্বারা বিচ্ছিন্ন নামের তালিকা থাকতে পারে। প্রতিটি নাম optionচ্ছিকভাবে একটি কোলন দ্বারা অনুসরণ করা যেতে পারে এবং সত্য বা মিথ্যা হয়, সত্যটি নির্দেশ করে যে এই ফাইলটি দ্বারা ভেরিয়েবল বরাদ্দ করা হতে পারে এবং মিথ্যা নির্দেশ করে যে অ্যাসাইনমেন্ট অনুমোদিত নয় (যা পূর্বনির্ধারিত)। নির্দেশ ফাংশন সুযোগ সম্মান করে।

কিছু গ্লোবাল আপনার জন্য পূর্বনির্ধারিত হতে পারে। ওয়েব ব্রাউজারগুলি যেমন ডকুমেন্ট এবং অ্যাডএভেন্টলিস্টনার দ্বারা সরবরাহিত স্ট্যান্ডার্ড গ্লোবাল বৈশিষ্ট্যগুলি পূর্বনির্ধারিত করতে একটি ব্রাউজার (ব্রাউজার) বিকল্পটি নির্বাচন করুন।

উদাহরণ:

/*jslint browser: true*/
/*global $, jQuery*/

25
নোট: আপনি যদি একটি স্থান না লাগাতে পারেন আগে globalতাই /* global var, var2 */কাজ করে না। /*global var, var2*/কাজ করে
20

4
বহুবচন সমতুল্য এবং পাশাপাশি কাজ করে: /*globals */ভেরিয়েবলের তালিকা যুক্ত করার সময় আরও বোধগম্য হয়
রবার্ট কোরিটনিক

4
সুতরাং আপনার সকল ফাইলের মধ্যে কোনও কিছু হারিয়ে যাওয়ার বিষয়ে অভিযোগ করে জেএসলিন্টের সমাধান এটি আপনার সমস্ত ফাইলে একটি লাইন যুক্ত করার জন্য ... এটি মারাত্মক পরামর্শ।
সেরিন

@ সেরিন - না, জেএসলিন্ট আপনার সম্পর্কে একটি ভেরিয়েবল ব্যবহারের বিষয়ে অভিযোগ করার সমাধানের জন্য এটির কোনও সংজ্ঞা খুঁজে পাচ্ছে না এর সমাধানটি হ'ল আপনি এটি অন্য একটি ফাইলে সংজ্ঞায়িত করেছেন (উদাহরণস্বরূপ, ভেরিয়েবল নামে টাইপ করা যা পরে আপনার প্রোগ্রামটি ভেঙে দেবে)।
কোয়ান্টিন

4
@ কুইন্টিন, হ্যাঁ এবং এর জন্য আপনার ঠিকঠাকের জন্য আপনাকে প্রতিটি একক ফাইলে "jQuery সম্পর্কে এটি বলার প্রয়োজন"। এটি এমন কোনও কাজের জন্য প্রচুর পরিমাণে কাজ যা কোনও লাভ দেয় না। আপনি সম্ভবত জেএসলিন্টে সেই চেকটি অক্ষম করতে পারেন।
সেরিন

30

কোয়ান্টিন যেমন বলেছে, সেখানে একটি /*global*/নির্দেশিকাও রয়েছে।

এখানে একটি উদাহরণ দেওয়া হয়েছে (এটি ফাইলের শীর্ষে রাখুন):

/*global var1,var2,var3,var4,var5*/

প্রাথমিক বৈশ্বিক বিবৃতি ঠিক একই লাইনে রয়েছে তা নিশ্চিত করুন /*, নাহলে এটি ভেঙে যায়।

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