javascript কি - বিশুদ্ধ জাভাস্ক্রিপ্ট:jQuery এর মত একটি ফাংশন isNumeric()



বই দিয়ে (6)

এই প্রশ্নটি ইতিমধ্যে একটি উত্তর আছে:

বিশুদ্ধ জাভাস্ক্রিপ্ট মধ্যে isNumeric মত কোন ফাংশন আছে?

আমি jQuery পূর্ণসংখ্যা চেক করার জন্য এই ফাংশন আছে জানি।


Answers

var str = 'test343',
    isNumeric = /^[-+]?(\d+|\d+\.\d*|\d*\.\d+)$/;

isNumeric.test(str);

isFinite (স্ট্রিং (এন)) n = 0 বা '0', '1.1' বা 1.1 এর জন্য সত্য ফেরত দেয়,

কিন্তু '1 কুকুর' বা '1,2,3,4', + - অসীম এবং কোন NaN মানের জন্য মিথ্যা।


function IsNumeric(val) {
    return Number(parseFloat(val)) === val;
}

জাভাস্ক্রিপ্ট ফাংশন isNaN যা যা করবে।

isNaN(90)
=>false

তাই আপনি সংখ্যাসূচক চেক করতে পারেন

!isNaN(90)
=>true

কোনও isNumeric() ধরণের ফাংশন নেই, তবে আপনি নিজের যুক্ত করতে পারেন:

function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

দ্রষ্টব্য: যেহেতু parseInt() সাংখ্যিক চেক করার জন্য সঠিক উপায় নয় তাই এটি ব্যবহার করা উচিত নয়।


একটি ফাংশন ঘোষণা এবং একটি পরিবর্তনশীল নির্ধারিত একটি ফাংশন অভিব্যক্তি বাঁধাই প্রতিষ্ঠিত একবার একই আচরণ।

সেখানে একটি পার্থক্য অবশ্য হয় কিভাবে এবং যখন ফাংশন বস্তুর আসলে তার পরিবর্তনশীল সঙ্গে সংশ্লিষ্ট। এই পার্থক্য জাভাস্ক্রিপ্ট মধ্যে পরিবর্তনশীল hoisting বলা প্রক্রিয়া কারণে ।

মূলত, সমস্ত ফাংশন ঘোষণা এবং পরিবর্তনশীল ঘোষণা ফাংশনের শীর্ষে ঘোষিত হয় যেখানে ঘোষণাকারী হয় (এই কারণে আমরা জাভাস্ক্রিপ্টটির কার্যকারিতা দশা বলে )।

  • যখন একটি ফাংশন ঘোষণাকৃত করা হয়, ফাংশন শরীরটি "অনুসরণ করে" তখন ফাংশন শরীর মূল্যায়ন করা হয়, পরিবর্তনশীল অবিলম্বে একটি ফাংশন বস্তুর সাথে আবদ্ধ করা হবে।

  • যখন একটি পরিবর্তনশীল ঘোষণায় উত্তোলন করা হয়, তখন প্রাথমিকভাবে অনুসরণ করা হয় না , তবে "পিছনে বাম" হয়। পরিবর্তনশীল undefinedফাংশন শরীরের শুরুতে শুরু হয়, এবং কোড তার মূল অবস্থান একটি মান বরাদ্দ করা হবে । (প্রকৃতপক্ষে, এটি প্রতিটি অবস্থানে একটি মান বরাদ্দ করা হবে যেখানে একই নামে একটি পরিবর্তনশীল ঘোষণাটি ঘটে।)

Hoisting আদেশ এছাড়াও গুরুত্বপূর্ণ: ফাংশন ঘোষণা একই নামের সঙ্গে পরিবর্তনশীল ঘোষণা উপর অগ্রাধিকার নিতে, এবং শেষ ফাংশন ঘোষণা একই নামের সঙ্গে আগের ফাংশন ঘোষণা উপর অগ্রাধিকার লাগে।

কিছু উদাহরণ...

var foo = 1;
function bar() {
  if (!foo) {
    var foo = 10 }
  return foo; }
bar() // 10

ভেরিয়েবলটি fooফাংশনের শীর্ষে আটকানো হয় undefined, যাতে শুরু !fooহয় true, তাই fooএটি নির্ধারিত হয় 10fooবাইরে barএর সুযোগ কোন ভূমিকা পালন করে এবং অস্পৃষ্ট হয়।

function f() {
  return a; 
  function a() {return 1}; 
  var a = 4;
  function a() {return 2}}
f()() // 2

function f() {
  return a;
  var a = 4;
  function a() {return 1};
  function a() {return 2}}
f()() // 2

ফাংশন ঘোষণা পরিবর্তনশীল ঘোষণা উপর অগ্রাধিকার, এবং শেষ ফাংশন ঘোষণা "লাঠি" ঘোষণা।

function f() {
  var a = 4;
  function a() {return 1}; 
  function a() {return 2}; 
  return a; }
f() // 4

এই উদাহরণটি aফাংশন অবজেক্টের সাথে শুরু হয় যার ফলে দ্বিতীয় ফাংশন ঘোষণার মূল্যায়ন করা হয় এবং তারপরে বরাদ্দ করা হয় 4

var a = 1;
function b() {
  a = 10;
  return;
  function a() {}}
b();
a // 1

এখানে ফাংশন ঘোষণার প্রথম, ঘোষণা এবং পরিবর্তনশীল আরম্ভ করা হয় a। পরবর্তী, এই পরিবর্তনশীল বরাদ্দ করা হয় 10। অন্য কথায়: বরাদ্দ বাইরের পরিবর্তনশীল বরাদ্দ করা হয় না a





javascript