Qu’allons-nous apprendre ?
- Qu'est-ce que la fonction
- Terminologies
- Différents types de fonctions
- Déclarations de fonctions
- Exécutions de fonctions
- Paramètre
- Pile d'appels
- Fonctions imbriquées
- Portée des fonctions
- Fermeture
- Fonction de rappel
- Fonction d'ordre supérieur
- Fonction pure
- IIFE
- Récursion
?? Qu'est-ce que la fonction javascript ?
Unefonction est un bloc de code utilisé pour effectuer une tâche spécifique. Une fonction, une fois définie, peut être utilisée à plusieurs reprises. Cela réduit la répétition du code.
?? Terminologies des fonctions :
? Définir des fonctions :
un. Déclarations de fonction :
Lorsqu'une fonction est créée à l'aide du mot-clé-fonction, d'un nom de la fonction, d'un ou plusieurs paramètres et d'une instruction, elle est appelée déclaration de fonction. déclaration de fonction, également connue sous le nom d'instruction de fonction.
L'instructionest le bloc de code {//do this task} à l'intérieur de la fonction. Le résultat souhaité de la fonction est transmis à la fonction appelée/invoquée via return.
function functionName (parameter1, parameter2) { return parameter1 + parameter2; } functionName(4, 2); // Output: 6Le
nom de la fonction peut être n'importe quoi. Mais lors de l'appel/de l'invocation de la fonction, vous devez utiliser exactement le nom de la fonction. () ou des parenthèses doivent être utilisées à la fin du nom.
paramètres de fonction est la variable entre parenthèses après le nom de la fonction. Plusieurs paramètres nécessitent des virgules (,) entre les paramètres.
paramètres les arguments reçoivent une valeur **fait.
Le résultat attendu de lafonction est transmis à l'appel de fonction via le mot-clé return. return entraîne l'achèvement de la fonction. Autrement dit, après le retour la fonction n'exécute plus de code.
fonction appel/invocation La valeur qui est passée à l'intérieur de ()- est appelée arguments.
b. Expression de fonction :
Déclarer une fonction sans nom de fonction est appelé une expression de fonction. Expression de fonction, également connue sous le nom de fonction anonyme.
const functionExpressionfunction = function (num) { return num +1; } functionExpressionfunction(5); // Output: 6
NB : Bien qu'il existe une différence fondamentale entre la déclaration de fonction et la définition de fonction, au sens général, cela signifie créer une fonction.
?? Fonction VS Méthode (différence entre fonction et méthode) :
un. Fonctions :
La fonction est un bloc de code indépendant qui peut effectuer des tâches spécifiques. La sortie est obtenue à partir de l'entrée en appelant la fonction depuis n'importe où dans le code.
function greet(name) { return `Hello, ${name}!`; } console.log(greet("Rabiul")); // Output: Hello, Rabiul!
b. Méthodes :
La méthode est aussi une fonction mais elle fait référence à un objet, utilisé comme propriété d'un objet. Autrement dit, la méthode sera toujours utilisée comme propriété de l'objet.
const user = { firstName: "Khan", middleName: "Rabiul", lastName: "Islam", fullName : function () { return `${this.firstName} ${this.middleName} ${this.lastName}` } } console.log(user.fullName());
?? Parameter:
? a. Default Parameter:
JavaScript Function, parameterএর value undefinedথাকে। undefined ভেলুর সাথে অপরেশন করা সম্ভব নয়। আবার কিছু ক্ষেত্রে প্যারামিটারের ভ্যেলু সেট করার প্রয়োজন হতে পারে। সে সব ক্ষেত্রে default parameter ব্যবহার করা যায়।
function multiple (num1, num2 =1) { return num1 * num2; } multiple(5); // Output: 5 * 1 = 5 multiple(5, 2); // Output: 5 * 2 = 10
Parameters এর নির্দিষ্ট value (=value) ব্যবহার করে যতগুলো default parameter প্রয়োজন ততোগুলো ব্যবহার করা যায়।
? b. Rest Parameter:
JavaScript rest parameter অসংখ্য argument কে array আকারে receive করে। rest parameter মূলত (…নাম) দ্বারা গঠিত।
function sum (num1, num2, ...rest) { const restSum = rest.reduce((total, num) => total + num, 0) return num1 + num2 + restSum; } sum(4,5,6,7,8,10,12);
Rest parameter এর কিছু গুরুত্বপূর্ণ বিষয়ঃ
পূর্বে আমারা Function Declaration ও Function Expression নিয়ে আলোচনা করেছি। এখানে শুধু Arrow Function নিয়ে আলোচনা করা হবে।
- একটি functionএ একটিমাত্র rest প্যারামিটার থাকতে পারবে।
- rest প্যারামিটার সব parameterএর শেষে হবে।
- rest প্যারামিটার এর কোন default value থাকতে পারবে না।
?? বিভিন্ন প্রকারের Functions:
পূর্বে আমারা Function Declaration ও Function Expression নিয়ে আলোচনা করেছি। এখানে শুধু Arrow Function নিয়ে আলোচনা করা হবে।
? Arrow Function:
Function কে সংক্ষিপ্ত আকারে লেখার জন্য arrow function ব্যবহার করা হয়।
Syntax:
() => expression param => expression (param) => expression (param1, parameter2) => expression () => { statements } param => { statements } (param1, paramN) => { statements }
উদাহরণঃ
const sum = (a, b) => { return a + b; }; console.log(sum(5, 10)); // আউটপুট: 15
const sum = (a, b) => a + b; console.log(sum(5, 10)); // আউটপুট: 15
const square = x => x * x; console.log(square(5)); // আউটপুট: 25
একটি parameter এর জন্য (), ব্যবহার প্রয়জন নেই। আবার একটি expression এর জন্য, {} এবং return keyword ব্যবহার জরুরি নয়।
?? Nested Function:
একটি function-কে যখন অন্য একটি function এর মধ্যে define করা হয়, তখন তাকে Nested Function বলে।
function outerFunction () { console.log('outer funciton'); function inner () { console.log('Inner function'); } inner(); } console.log( outerFunction()); // Output: outer funciton // Inner function
প্রয়োজনে আমারা একাধিক nested function ব্যবহার করতে পারি।
?? Function Scope:
function scope এমন একটি ধারণা যেখানে function এর ভিতরের variable গুলোর ব্যবহার ও access ঐ function এর মধ্যেই সীমাবদ্ধ। অর্থাৎ function এর বাইরে variable গুলোর access পাওয়া যাবেনা।
function outerFunction() { const a = 10; function innerFunction() { const b = 5; console.log(a); // Logs '10' function corefunction() { console.log(a); // Logs '10' console.log(b); // Logs '5' const c = 2; return a + b + c; // Returns 10 + 5 + 2 = 17 } return corefunction; } return innerFunction; } const inner = outerFunction(); // Returns innerFunction const core = inner(); // Returns corefunction console.log(core()); // Logs '10', '5', and '17' console.log(a); console.log(b); console.log(c); // Output: Uncaught ReferenceError: b is not defined
function এর বাইরে variable access করতে গেলে ReferenceErro; দেখাচ্ছে কেননা variable, function এর ভিতর define করা হয়েছে।
?? Closures:
কয়েকটি functionএর সমন্বয়ে গঠিত Lexical Environment, যা নির্ধারণ করে একটি functionএর মধ্যে variableঅন্য functionগুলো access/ব্যবহার পাবে কি না। অর্থাৎ, যখন একটি functionঅন্য functionএর ভিতর গঠিত হয়, তখন ভিতরের functionতার বাইরের functionএর variable মনে রাখতে পারে এবং access/ব্যবহার করতে পারে। এধারনাকে ক্লোজার(closure) বলে।
function outerFunction () { const outerVariable = 'This is outer variable value'; function innerFunction () { console.log(outerVariable); } return innerFunction; } const closuer = outerFunction(); closuer(); // Output: This is outer variable value
পাশের কোড স্নিপিটে outerFunction এর ভিতর outerVariable নামে একটি variable init এবং assign করা হয়েছে। একই সাথে innerFunction নামে একটি function declare করে হয়েছে। আবার innerFunction কে console.log()/access করা হয়েছে। যেহেতু Lexical Enviornment এ inner function তার বাইরের function এর variable মনে রাখতে পারে, তাই যখন outerFunction কে call করা হলো তখন innerFunction তার outer function থেকে variable এর value গ্রহন করতে পেরেছে।
function outerFunction () { const a = 10; function innerFunction () { const b = 5; function hardCoreFunction () { const c = 20; return a + b + c; } return hardCoreFunction() } return innerFunction; } const closure = outerFunction(); console.log(closure())
উদাহরণ ২ঃ outerFunction Lexical Scope এর ভিতর আরো ২টি function declare করা হয়েছে innerFunction এবং hardCoreFunction। outerFunction function এর ভিতর a = 10 innerFunction এ b = 5 এবং hardCoreFunction এর ভিতর c = 20 এবং variable a, b, c variable এর সমষ্টি নির্ণয় করা হয়েছে। hardCoreFunction এর ভিতর variable a এবং b না থাকার পরও lexical enviornment এর কারোনে access করতে পারছে।
function outerFunction () { const a = 10; function innerFunction () { const b = 5; console.log(a); console.log(c); function hardCoreFunction () { const c = 20; return a + b + c; } return hardCoreFunction() } return innerFunction; } const closure = outerFunction(); console.log(closure())
উধাহরণ ৩ঃ innerFunction এর ভিতর variable a এবং c বিদ্যমান নয়। a ও c access করতে গেলে a এর value পাওয়া output পাওয়া গেলেও c variable এর access না থাকায়, Output REferenceError show করছে। বুঝারা সুবিধার্তে outerFunction কে grand_parent, innerFunction কে parent এবং hardCoreFunction child হিসেবে বিবেচনা করা হলো। child তার parent, grand_parent variable access পাই। এমনকি child সরাসরি grand_parent কেও access করতে পারবে। কিন্তু কোনো parent তার child এর variable access করতে পারবে না।
সহজভাবে বলতে গেলে ক্লোজার(closure) হলো যখন inner function তার Lexical Environment এ outer function থেকে variable access করে।
?? Callbac Function:
Arguments আকারে একটি function কে অন্য একটি function এ pass করে, কোন কার্যসম্পাদনকে callback function বলে। callback function কে function এর মধ্যে invoked/call করেতে হয়।
synchronous এবং asynchronous ২ পদ্ধতিতে callback function ব্যবহার করা যায়।
function multiplyByTwo(num, callbackFunc) { var result = num * 2; callbackFunc(result); } function ConLogResult(result) { console.log(result); } multiplyByTwo(5, ConLogResult);
?? Higher Order Function:
একটি function, এক বা একাধিক function arguments থেকে গ্রহণ করে অথবা ফলাফল হিসেবে function কে return করে, তাকে Higher Order Function (HoF) বলে।
? Higher Order Function এর ২টি বৈশিষ্ট্যঃ
Argument এ function গ্রহণ করে।
ফলাফল হিসেবে function প্রদান করে।
1. Argument এ function গ্রহণ করে:
function higherOrderFunction (callbackFun) { callbackFun('It is a higher Order Function'); } function callbackFun (message) { console.log(message) } higherOrderFunction(callbackFun);
এখানে higherOrderFunction, call করার সময় argument এ অন্য একটি function pass করছে।
কোথায় Higher Order Function ব্যবহার করা হয়ঃ
const radius = [4,5,8]; // Calculating Area of the circle const circleArea = function (radius) { const result = []; // initialized arra to store output for(let i = 0; i <p>উভয় ক্ষেত্রে দেখা যাচ্ছে radius variable কে access করছে। কিন্তু function এর operation গুলো ভিন্ন। এমন ক্ষেত্রে ভিন্ন operation এর জন্য ভিন্ন function তৈরী করে, অন্য একটি function এর argument এ pass করে একটি পুনঃ ব্যবহারযোগ্য function/higher order function গঠন করতে পারি।<br> </p> <pre class="brush:php;toolbar:false"> const radius = [4,5,8]; // Calculating diameter const diameter = function (radius) { const result = []; for (let i = 0; i<radius.length i result.push radius return result console.log area clcultion operation const math.pi diameter making a function that can calculate and other oprations. it will be resuable output="[];" for radius.length output.push> <p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/172615155238026.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="All About JavaScript Function"></p> <p>ধাপ ১ঃ একটি function তৈরী করি, যেটি একটি value এবং একটি function রিসিভ করতে পারবে।</p> <p>ধাপ ২ঃ প্রত্যেকটি আলাদা operation এর জন্য ভিন্ন ভিন্ন function define করি।</p> <p>ধাপ ৩ঃ HoFs কে call করার সময় প্রয়োজনীয় operation/function কে pass করি। এখানে value = radius এবং function/operaton = diameter/area;</p> <p>ধাপ ৪ঃ callback function কে function টির ভিতর call করি। argument এ প্রয়োজনীয় value pass করি।</p> <p>এখন function/operation টি অটোমেটিক প্রাপ্ত value থেকে operation সম্পন্ন করে HoFs এর যেখানে call করা হয়েছে, সেখানে প্রদান করবে।</p> <h2> ? ২. ফলাফল হিসেবে function প্রদান করে(return a function): </h2> <p>Higher Order Function ফলাফল হিসেবে অন্য একটি function এর return ফল গ্রহণ করতে পারে।<br> </p> <pre class="brush:php;toolbar:false">function higherOrderFunction (a, b) { function sum (b) { return a + b; } return sum; } console.log( higherOrderFunction(4)(5)); // Output: 9 // Or function higherOrderFunction (a, b) { return function sum (b) { return a + b; } } console.log( higherOrderFunction(4)(5)); // Output: 9
ব্যবহারঃ
- Array: map(), reduce(), filter(), sort()...
- Object: Object.entries()
- Custom
উদাহরণ ১ঃ
একটি array এর প্রতিটি number element কে ২ দ্বারা গুণ করতে হবে।
const users = [ {firstName: 'Khan', lastName: 'Rabiul', age: 30}, {firstName: 'Anisul', lastName: 'Islam', age: 20}, {firstName: 'Shahidul', lastName: 'Islam', age: 25}, {firstName: 'Mr.', lastName: 'Sabbir', age: 32}, {firstName: 'Sk.', lastName: 'Shamim', age: 37}, ] const usersFullName = users.map(user => user.firstName + ' ' + user.lastName); console.log(usersFullName); // Output: ['Khan Rabiul', 'Anisul Islam', 'Shahidul Islam', 'Mr. Sabbir', 'Sk. Shamim']
উদাহরণ ৩ঃ
একটি array of object থেকে age এর সমষ্টি বের করতে হবে;
const users = [ {firstName: 'Khan', lastName: 'Rabiul', age: 30}, {firstName: 'Anisul', lastName: 'Islam', age: 20}, {firstName: 'Shahidul', lastName: 'Islam', age: 25}, {firstName: 'Mr.', lastName: 'Sabbir', age: 32}, {firstName: 'Sk.', lastName: 'Shamim', age: 37}, ] const ageOver30 = users.filter(user => user.age > 30); console.log(ageOver30); //Output : {firstName: 'Mr.', lastName: 'Sabbir', age: 32}, // {firstName: 'Sk.', lastName: 'Shamim', age: 37},
উদাহরণ ৫ঃ
একটি array of object থেকে যাদের age এর ক্রমানুসারে লিস্ট বের করতে হবে;
const users = [ {firstName: 'Khan', lastName: 'Rabiul', age: 30}, {firstName: 'Anisul', lastName: 'Islam', age: 20}, {firstName: 'Shahidul', lastName: 'Islam', age: 25}, {firstName: 'Mr.', lastName: 'Sabbir', age: 32}, {firstName: 'Sk.', lastName: 'Shamim', age: 37}, ] const sortedByAge = users.sort((a, b) => a.age - b.age); console.log(sortedByAge); // Output: // {firstName: 'Anisul', lastName: 'Islam', age: 20} // {firstName: 'Shahidul', lastName: 'Islam', age: 25} // {firstName: 'Khan', lastName: 'Rabiul', age: 30} // {firstName: 'Mr.', lastName: 'Sabbir', age: 32} // {firstName: 'Sk.', lastName: 'Shamim', age: 37}
উদাহরণ ৬ঃ উপরের উদাহরণ গুলো যদিও আমরা HoFs এর সাহায্যে সমাধান করেছি। এখানে একটি বিষয় লক্ষণীয় যে, প্রতি ক্ষেত্রে আমারা একই array of object input এ গ্রহণ করছি আর ভিন্ন operation চালাচ্ছি। যদি আমরা একটি function create করি, যেখানে একটি input এবং ভিন্ন operation এর জন্য ভিন্ন function callback এ ইনপুট নিতে পারবে। তা হলে function টি পুনঃ ব্যবহার যোগ্য ও আরো ডাইনামিক হবে।
const users = [ {firstName: 'Khan', lastName: 'Rabiul', age: 30}, {firstName: 'Anisul', lastName: 'Islam', age: 20}, {firstName: 'Shahidul', lastName: 'Islam', age: 25}, {firstName: 'Mr.', lastName: 'Sabbir', age: 32}, {firstName: 'Sk.', lastName: 'Shamim', age: 37}, ]; // আমাদের প্রয়োজনী ভিন্ন function সমূহঃ // ০১, একটি array of object থেকে users full name লিস্ট তৈরী করতে হবে; const getFullName = function(user) { return user.firstName + " " + user.lastName } // উদাহরণ ২, একটি array of object থেকে যাদের age ৩০ এর বেশি তাদের লিস্ট বের করতে হবে; const getAgeOver30 = user => user.age <pre class="brush:php;toolbar:false">const numbers = [4,5,8,3,7,9,10,56]; const calculate = function(numbers, operation) { let output = []; for(let i = 0; i <p>অর্থাৎ function return পেলে বা arguments থেকে এক বা একাধিক function গ্রহণ করলে function টি, Higher Order function। </p> <hr> <h2> ?? Recursion Function </h2> <p>যখন কোন সমস্যা সমাধানের জন্য একি কাজ বার বার করতে হয়, তখন তাকে Recursive Function বলে।</p> <p>প্রত্যাশিত ফলাফল পাওয়ার জন্য কোন কাজ বার বার করা(<em>function call</em> করা)-কে <em>recursion function</em> বলে। **<br> উদাহরণ: ফ্যাক্টোরিয়াল ফাংশন<br> </p> <pre class="brush:php;toolbar:false">function factorial (num) { // base case if(num === 0) { return 1; } return num * factorial(num -1); } console.log(factorial(5)); // Output: 120
?? Recursion কীভাবে কাজ করেঃ
- Function Declaration
- Base Case
- Recursive Call command
? Function Declaration:
সাধারণ function যেভাবে declare করা হয়, এটাও ঠিক তেমন।
function recursionFunction () { }
Base Case:
Base Case ই *recursion function* এর মূল ভিত্তি।
Base case ছাড়া *recursion function* একটি অসীম লুপে পরিণত হবে এবং প্রোগ্রাম ক্র্যাশ করবে।
*Recursion* ফাংশনে "base case" হলো এমন একটি শর্ত যা self-calling বন্ধ করার জন্য ব্যবহৃত হয়। এই শর্তটি পূরণ হলে ফাংশনটি আর নিজেকে কল করে না এবং একটি নির্দিষ্ট মান রিটার্ন করে।
`*Base case*` মূলত একটি স্টপিং পয়েন্ট, যা রিকারসনকে অসীম লুপে পরিণত হওয়া থেকে রক্ষা করে।
উপরের উদাহ্রন্টিতে *base case* হিসেবে ব্যবহৃত হয়েছে। এখানে যখন num = 0; হবে *return* value হবে 1 এবং *function* টি বন্ধ হবে। **
if(num === 0) { return 1; }
? The Recursion Call command:
এই অংশটি মূলত একটি funciton বার বার *call* করার জন্য দায়ী। আবার অংশ থেকেই কাঙ্ক্ষিত ফলাফল নির্ধারিত হয়। উদাহরণ এরঃ
*return num * factorial(num -1);*
উদাহরণ ২ঃ একটি function তৈরী কর, যেটি প্রাপ্ত সংখ্যাকে বিপরীতক্রমে আউটপুট প্রদান করবে;
// function declaration function decendingOrder (num) { let decndingNumbers = []; // base case if(num <p>উদাহরণ ৩ঃ একটি function তৈরী কর, যেটি প্রাপ্ত stirng বিপরীতক্রমে আউটপুট প্রদান করবে;<br> </p> <pre class="brush:php;toolbar:false"> function reverseString (string) { if (string.length == 1) { return string; } else { return string.slice(-1) + reverseString(string.slice(0, -1)); } } console.log(reverseString("string")); //Output: "gnirts"
// 1. slice মেথডটি স্ট্রিং থেকে একটি নির্দিষ্ট অংশ কাটে এবং নতুন একটি স্ট্রিং রিটার্ন করে। // 2. এখানে slice(-1) ব্যবহার করা হয়েছে, যার মানে হলো স্ট্রিং এর শেষ অক্ষরটি কেটে নেওয়া। // উদাহরণ: "string".slice(-1) এর আউটপুট হবে "g"। // string.slice(0, -1): // slice(0, -1) ব্যবহার করে স্ট্রিং এর প্রথম থেকে (ইন্ডেক্স 0 থেকে) শেষের ঠিক আগের অক্ষর পর্যন্ত সবকিছু কেটে নেওয়া হয়। // উদাহরণ: "string".slice(0, -1) এর আউটপুট হবে "strin"। // + অপারেটর: // + অপারেটর এখানে স্ট্রিং কনক্যাটিনেশন (দুই বা ততোধিক স্ট্রিং একত্রিত করা) এর জন্য ব্যবহৃত হচ্ছে। // উদাহরণ: "g" + "strin" এর আউটপুট হবে "gstrin"। // reverseString("string") এর ধাপে ধাপে প্রসেসিং হবে: // প্রথম কল: "g" + reverseString("strin") // দ্বিতীয় কল: "n" + reverseString("stri") // তৃতীয় কল: "i" + reverseString("str") // চতুর্থ কল: "r" + reverseString("st") // পঞ্চম কল: "t" + reverseString("s") // ষষ্ঠ কল (Base case): "s" //ফাইনালি, সব কনক্যাটিনেশন হয়ে উল্টো স্ট্রিং "gnirts" রিটার্ন হবে।
? Or, with loop
const str = "small"; function rev(str) { let revStr= ""; for(let i = str.length -1; i>= 0; i--) { revStr += str[i]; } return revStr; } console.log(rev(str)); // Output: llams
Recursion function কোড পড়া ও সহজে ভূল খুজে পেতে সাহায্য করে কিন্তু অসংখ্যবার function call করার কারণে performance খারাপ হতে পারে।
?? Currying
currying function এমন functional ধারণা যেখানে একাধিক arguments থাকলেও function টি এক সাথে একটির বেশি argument receive করে না। অর্থাৎ প্রতিটি argument এর জন্য একটি function declare ও return করে। তবে কোন function এর জন্য argument pass করলেও function টি সঠিকভাবে কাজ করতে পারে। এটি কোডের পুনঃব্যবহারযোগ্যতা বাড়ায় এবং কোডকে ছোট ও স্পষ্ট করে তোলে।
function add(a) { return function(b) { return function(c) { return a + b + c; } } } console.log(add(1)(2)(3)); // Output: 6
*একটি argument না দিয়েঃ *
function add(a) { return function(b) { return function(c) { return a + b ; } } } console.log(add(1)(2)()); // Output: 3
以上是关于 JavaScript 函数的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

本教程向您展示了如何将自定义的Google搜索API集成到您的博客或网站中,提供了比标准WordPress主题搜索功能更精致的搜索体验。 令人惊讶的是简单!您将能够将搜索限制为Y

本文系列在2017年中期进行了最新信息和新示例。 在此JSON示例中,我们将研究如何使用JSON格式将简单值存储在文件中。 使用键值对符号,我们可以存储任何类型的

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

增强您的代码演示:开发人员的10个语法荧光笔 在您的网站或博客上共享代码片段是开发人员的常见实践。 选择合适的语法荧光笔可以显着提高可读性和视觉吸引力。 t

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

核心要点 JavaScript 中的 this 通常指代“拥有”该方法的对象,但具体取决于函数的调用方式。 没有当前对象时,this 指代全局对象。在 Web 浏览器中,它由 window 表示。 调用函数时,this 保持全局对象;但调用对象构造函数或其任何方法时,this 指代对象的实例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。这些方法使用给定的 this 值和参数调用函数。 JavaScript 是一门优秀的编程语言。几年前,这句话可

本文介绍了关于JavaScript和JQuery模型视图控制器(MVC)框架的10多个教程的精选选择,非常适合在新的一年中提高您的网络开发技能。 这些教程涵盖了来自Foundatio的一系列主题


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器