This JavaScript article shows you how to declare, write and call functions in the JavaScript programming language, such as void functions, return functions, ... Please enter the detail page to learn more.
- Demo
- Enlarge
- Reload
- New window
Free iPage Web Hosting for First Year NOW
If you're still looking for a reliable web host provider with affordable rates, why you don't take a little of time to try iPage, only with $1.89/month, included $500+ Free Extra Credits for the payment of 24 months ($45)?
Over 1,000,000+ existisng customers can not be wrong, definitely you're not, too! More important, when you register the web hosting at iPage through our link, we're going to be happy for resending a full refund to you. That's awesome! You should try iPage web hosting for FREE now! And contact us for anything you need to know about iPage.
Just a random, late night scribble for the boys and girls out there starting fresh with javascript and not understanding the power that you can harness with it. I've given this demonstration before, but it's always fun to post because someone might learn something new.
Anyway, you might be familiar with your usual function definition, let's say a function that sums 2 numbers:
function sum(a,b){ return a+b; } sum(2,5); // returns 7
That's fine and dandy... but now let's change this around a bit to better illustrate what a function is:
var pre = function(a,b){ return a+b; } sum(2,5); // returns 7
Yep, that's right... a function is just an object in javascript and the name of it is simply a variable. Now let's make this a bit more interesting by creating a function that returns a running sum:
function runningSum(start){ var sum = start; return function(a){ return sum+=a; } } var sum = runningSum(3); sum(2); // returns 5 sum(10); // returns 15
As you see, you can have a function return another function in javascript, and that function inherits the scope of the function that created it... in fact we could remove the temporary sum variable and get the same results:
function runningSum(start){ return function(a){ return start+=a; } } var sum = runningSum(3); sum(2); // returns 5 sum(10); // returns 15
now, lets introduce the arguments variable, which gives you access to an array of agu ments passed into the function. A revised sum function:
function sum(){ var sum = 0; for(var i = 0; i < arguments.length; i++){ sum += arguments[i]; } return sum; } sum(1,2,2,1); // returns six
The arguments object is a pretty damn cool object, if you want to look further, take a gander at the Mozilla documentation. Using the callee attribute of arguments (which returns the function instance itself), we can do something wicked:
var sum = 0; function add(a){ sum+=a; return arguments.callee; } add(1)(2)(3); alert(sum); // displays 6
I find this can come in pretty handy when you need an accumulator of some sort... try it, it works!
Also, you can assign the scope of this while using functions, which can be useful if, for example, you want to call a function where this might resolve to the local scope (think ajax callbacks):
function greeting(){ return "Hello " + this.name; } var person = {'name':'James'}; greeting.call(person); // returns "Hello James"
I also prefer to avoid polluting the global scope if I want a script that does something procedural when it's included, in that case I just create a function and execute it on the spot:
(function(){ var bleh = 3; alert(bleh+5); // alerts 8 })(); alert(bleh); // Reference Error: bleh is not defined
Finally, there's a handy map function on arrays. It's available in Mozilla, but not IE (afaik), however it is also available in jquery, so you can give it a try there.
[1,2,3,4,5].map(function(a){return a*a;}); // returns [1,4,9,16,25]
Overall, pretty basic stuff, but a nice refresher if you are unfamiliar.
- Sent (0)
- New
Generate your business videos by AI with voice or just text
chatGPTaz.com
Talk to ChatGPT by your mother language
AppAIVideo
Your first FREE AI Video App
Deepfake Video
Deepfake AI Video Maker
Deepfake
Deepfake AI Video Maker
AI Deep Fake
Deepfake AI Video Maker
AIvidio
AI Video Mobile Solutions
AIvideos
AI Video Platform & Solutions
AIvedio
AI Video App Maker
Faceswap AI Online
Swap Faces Video, Photo & GIFs Instantly with Powerful AI Tools - Faceswap AI Online FREE
Faceswap AI Online
Swap Faces Video, Photo & GIFs Instantly with Powerful AI Tools - Faceswap AI Online FREE
Temu Free $500 for New Users
Claim Free Temu $500 Credit via Affiliate & Influencer Program
Free TikTok Ads Credit
Master TikTok Ads for Your Business Marketing
Dall-E-OpenAI.com
Generate creative images automatically with AI
chatGPT4.win
Talk to ChatGPT by your mother language
First AI Product from Elon Musk - Grok/UN.com
Speak to Grok AI Chatbot with Your Language
Tooly.win
Open tool hub for free to use by any one for every one with hundreds of tools
GateIO.gomymobi.com
Free Airdrops to Claim, Share Up to $150,000 per Project
iPhoneKer.com
Save up to 630$ when buy new iPhone 16
Buy Tesla Optimus Robot
Order Your Tesla Bot: Optimus Gen 2 Robot Today for less than $20k
Thank you.. Reply
hic Reply
no pain no gain @ nhung Reply