লুপগুলির জন্য অভিনব
আপনি অ-মানক উপায়ে লুপের জন্য মানকটি ব্যবহার করতে পারেন
for ( a; b; c )
মূলত এর সমতুল্য:
a;
while ( b )
{
...
c;
}
তাই একটি ভাল কৌতুক একটির সাথে আপনার কোড লিখতে হয় while
লুপ, এবং তারপর এটি বিভক্ত a,b,c
একটি অংশের for
লুপ।
আমি কয়েকটি উদাহরণ লিখেছি :
for(x=y=n;!z;x--,y++)z=i(x)?x:i(y)?y:0
for(a=b=1;b<n;c=a+b,a=b,b=c);
আপনার সেটারগুলিকে শিকল দিন
আপনি যদি একাধিক মান সূচনা বা পুনরায় সেট করে থাকেন তবে প্রয়োজনীয় সমস্ত ভেরিয়েবলের মানটি শৃঙ্খলাবদ্ধ করুন:
a=b=1;
অন্তর্নিহিত কাস্টিং
আপনার প্রকারগুলি যাচাই করবেন না, কেবল সেগুলি হিসাবে তাদের ব্যবহার করুন। অক্ষর parseInt()
ব্যয় 10
। আপনার যদি স্ট্রিং থেকে বেরিয়ে আসতে হয় তবে সৃজনশীল হোন:
a='30';
b='10';
c = a + b; //failure
c = parseInt(a) + parseInt(b) //too long
c = -(-a-b); //try these
c = ~~a+~~b;
c = +a+ +b;
c = a- -b;
সেমিকোলনগুলি এড়িয়ে চলুন
জাভাস্ক্রিপ্টটিতে স্বয়ংক্রিয় অর্ধ-কোলন সন্নিবেশ রয়েছে। এটি প্রায়শই এবং ভালভাবে ব্যবহার করুন।
এক-liners,
একক লাইনে বা প্যারামিটারগুলিতে যথাসম্ভব কমিয়ে ব্র্যাকেটগুলিতে সংরক্ষণ করুন:
a( realParam1, realParam2, fizz='buzz' )
বৃদ্ধি / হ্রাস অপারেটর
a = a - 1;
foo(a);
এবং
foo(a);
a = a - 1;
সহজেই আবার লিখতে পারেন
foo(--a);
এবং
foo(a--);
যথাক্রমে।
বৈশ্বিক প্রসঙ্গে this
বা self
পরিবর্তে ব্যবহার করুনwindow
স্ব বর্ণনামূলক 2 চরিত্রের সঞ্চয়।
পুনরায় সম্পত্তি অ্যাক্সেসের জন্য বন্ধনী স্বরলিপি ব্যবহার করুন
সম্পত্তির নামের দৈর্ঘ্য এবং অ্যাক্সেসের সংখ্যার মধ্যে এটি অবশ্যই একটি ভারসাম্যমূলক কাজ। a.longFunctionName()
ডট স্বরলিপি দিয়ে দু'বার কল করার পরিবর্তে নামটি সংরক্ষণ করা এবং বন্ধনী স্বরলিখনের মাধ্যমে ফাংশনটি কল করা সংক্ষিপ্ত:
a.longFunctionName(b)
a.longFunctionName(c)
//42
বনাম
a[f='longFunctionName'](b)
a[f](c)
//34
document.getElementById
এটি হ্রাস করা যেতে পারে এমন ফাংশনগুলির সাথে বিশেষভাবে কার্যকর d[e]
।
বিঃদ্রঃ:
বন্ধনী চিহ্নিতকরণ সহ, ব্যয়টি 6 + name.length
প্রথমবারের অক্ষর। প্রতিটি পরবর্তী অ্যাক্সেসের 3
অক্ষরের একটি ব্যয় থাকে ।
বিন্দু চিহ্নিতকরণের জন্য, সমস্ত অ্যাক্সেসের name.length + 1
জন্য (+1 .
) অক্ষরগুলি ব্যয় হয়।
এই পদ্ধতিটি ব্যবহার করুন যদি 6 + name.length + (3 * (accesses - 1)) < accesses * (name.length + 1)
।
লেন = সম্পত্তি নামের দৈর্ঘ্য
i = ন্যূনতম অ্যাক্সেস নিতে take
len | i
========
1 | ∞
2 | ∞
3 | 7
4 | 4
5 | 3
6 | 3
7 | 3
8+ | 2
অ্যাক্সেসের সংখ্যাটি একাধিক অবজেক্টকেও ছড়িয়ে দিতে পারে। আপনি যদি .length
বিভিন্ন অ্যারেতে 4 বা ততোধিক বার অ্যাক্সেস করেন তবে আপনি স্ট্রিং ধারণ করে একই চলকটি ব্যবহার করতে পারেন 'length'
।
var
) পরিবর্তনশীল রাখার অনুমতি দেয় ? এবং জাভাস্ক্রিপ্ট গল্ফ কোড কোনও ফাংশন বা আউটপুট থেকে সরাসরি কিছু হওয়া উচিত? আমি সত্যই মনে করি এটি অনেক বেশি পার্থক্য আনতে পারে।