DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

The Latest JavaScript Topics

article thumbnail
Build Full-Stack Web App With Firebase, Angular 15, React.js, Vue.js, and Blazor [Video]
Learn to build a simple application from scratch using Firebase as the backend, and Angular 15, React.js, Vue.js, or Blazor as the front end.
June 23, 2023
by Vinay R
· 7,438 Views · 1 Like
article thumbnail
Resolver in Angular: An Overview
This article explores the concept of the Angular Resolver, its function, and its practical application for your Angular projects.
June 23, 2023
by Hardik Thakker
· 8,259 Views · 4 Likes
article thumbnail
How To Handle Dynamic Dropdowns In Selenium WebDriver With Java
This Selenium Java tutorial discusses handling Single and Multiselect dropdown fields using Selenium WebDriver Java.
June 22, 2023
by Faisal Khatri DZone Core CORE
· 6,789 Views · 2 Likes
article thumbnail
Node.js: Architectural Gems and Best Practices for Developers to Excel
When it comes to Node.js architecture and best practices, there are several guidelines that developers should follow to build scalable and efficient web apps.
June 20, 2023
by Anita Shah
· 6,892 Views · 4 Likes
article thumbnail
JavaScript Variables (Beginner Thinking)
In JavaScript, a variable is a named reference to a memory location that can hold different data types, such as numbers, strings, booleans, objects, or functions.
June 14, 2023
by Robiul H.
· 5,629 Views · 2 Likes
article thumbnail
React Helpful Hints Series: Volume 2
In this series of short “bloglets” our team will cover a wide array of React topics, including developer tips, issues, and experiences.
June 9, 2023
by Joel Nylund DZone Core CORE
· 5,671 Views · 3 Likes
article thumbnail
Superior Stream Processing: Apache Flink's Impact on Data Lakehouse Architecture
Apache Flink's unique streaming and fault tolerance features make it a strong choice for efficient data lakehouse implementation.
June 8, 2023
by Andrey Gusarov
· 9,370 Views · 4 Likes
article thumbnail
How To Create Progress Bar and Progress Spinner Using Prime React/ Prime Faces in React JS
In this article, we learned how to create a React project, set Prime React UI, and create React Js Progress Bar, Progress Spinner, and Prime React UI components.
June 7, 2023
by abhishek saini
· 4,906 Views · 1 Like
article thumbnail
A React Frontend With Go/Gin/Gorm Backend in One Project
In this article, the reader will learn more about how to build a Go Project with React Frontend and a PostgreSQL database.
June 2, 2023
by Sven Loesekann
· 6,653 Views · 5 Likes
article thumbnail
Using Render Log Streams to Log to Papertrail
We’ll look at how we can configure an app that is hosted on Render to send its system logs to Papertrail by using Render Log Streams.
June 1, 2023
by Tyler Hawkins DZone Core CORE
· 6,237 Views · 1 Like
article thumbnail
Angular Unit Testing With Karma and Jasmine
Jasmine is a JavaScript testing framework, and Karma is a node-based testing tool for JavaScript codes across multiple real browsers.
June 1, 2023
by Haresh Kumbhani
· 5,545 Views · 2 Likes
article thumbnail
JavaScript Temperature Anomaly Chart
Learn how to create a JS Temperature Anomaly Chart that you can use for anomaly weather and temperature scientific research using high-performance JS charts.
June 1, 2023
by LightningChart LightningChart
· 5,445 Views · 2 Likes
article thumbnail
How To Integrate the Stripe Payment Gateway Into a React Native Application
This post speaks about the various methodologies for Stripe payment gateway integration into a React Native application.
June 1, 2023
by Parija Rangnekar
· 6,338 Views · 1 Like
article thumbnail
What Is React? A Complete Guide
React is a popular JavaScript library for building user interfaces. This comprehensive guide explains React's key concepts, such as components, JSX, state, props, virtual DOM, lifecycle methods, and hooks.
May 28, 2023
by Saurabh Kumar
· 6,952 Views · 1 Like
article thumbnail
Automating the Migration From JS to TS for the ZK Framework
Migrate the JavaScript codebase for the ZK framework to TypeScript with automated tools like jscodeshift, typescript-eslint, AST Explorer, and the TSDoc parser.
May 26, 2023
by Gordon Hsu
· 9,965 Views · 5 Likes
article thumbnail
Cypress Tutorial: A Comprehensive Guide With Examples and Best Practices
Level up your automation testing skills with our comprehensive Cypress Testing tutorial. Don't miss out on the opportunity to master this powerful tool.
May 24, 2023
by Sarah Elson
· 5,757 Views · 1 Like
article thumbnail
Why You Should Consider Using React Router V6: An Overview of Changes
The latest version of React-router (v6) was released in November 2021 and marked a significant API change.
May 24, 2023
by Beste Bayhan
· 6,852 Views · 2 Likes
article thumbnail
How To Create React JS Form Using Hooks and PrimeReact/Primefaces UI Components
PrimeReact components can be easily used/integrated with React Hook Form. In this example, a register panel is simulated using React Hook Form.
May 22, 2023
by abhishek saini
· 2,603 Views · 1 Like
article thumbnail
Multi-Stream Joins With SQL
Learn how to combine two or more streams of data together in real-time with a streaming database, run SQL queries and create a materialized view.
May 22, 2023
by Bobur Umurzokov
· 2,199 Views · 2 Likes
article thumbnail
How JavaScript Timers Work
At a fundamental level it's important to understand how JavaScript timers work. Oftentimes they behave unintuitively because of the single thread which they are in. Let's start by examining the three functions that we have access to with which to construct and manipulate timers. var id = setTimeout(fn, delay); - Initiates a single timer which will call the specified function after the delay. The function returns a unique ID with which the timer can be canceled at a later time. var id = setInterval(fn, delay); - Similar to setTimeout but continually calls the function (with a delay every time) until it is canceled. clearInterval(id); - Accepts a timer ID (returned by either of the aforementioned functions) and stops the timer callback from occurring. In order to understand how the timers work internally there's one important concept that needs to be explored: timer delay is not guaranteed. Since all JavaScript in a browser executes on a single thread, asynchronous events (such as mouse clicks and timers) are only run when there's been an opening in the execution. This is best demonstrated with a diagram, like in the following: There are Plenty of Reasons Why JavaScript Timers Matter You may become frustrated if you just look at JavaScript timers as something that doesn’t serve any real purpose for you. It is easy to get yourself into that mentality, but it is also not entirely productive or accurate to think of them in this way. The truth is that JavaScript timers are extremely effective, and they help control various processes that need to be controlled. You may want to set up timers to go off when someone clicks their mouse or when a certain amount of time has passed. Whatever the case may be, you need those timers to help you take care of what is happening. JavaScript timers have already proven themselves to be incredibly useful for many people, and they can be for you as well. Since JavaScript can only ever execute one piece of code at a time (due to its single-threaded nature) each of these blocks of code is "blocking" the progress of other asynchronous events. This means that when an asynchronous event occurs (like a mouse click, a timer firing, or an XMLHttpRequest completing) it gets queued up to be executed later (how this queueing actually occurs surely varies from browser to browser, so consider this to be a simplification). To start with, within the first block of JavaScript, two timers are initiated: a 10ms setTimeout and a 10ms setInterval. Due to where and when the timer was started it actually fires before we actually complete the first block of code. Note, however, that it does not execute immediately (it is incapable of doing that, because of the threading). Instead, that delayed function is queued in order to be executed at the next available moment. Additionally, within this first JavaScript block, we see a mouse click occur. The JavaScript callbacks associated with this asynchronous event (we never know when a user may perform an action, thus it's considered to be asynchronous) are unable to be executed immediately thus, like the initial timer, it is queued to be executed later. After the initial block of JavaScript finishes executing the browser immediately asks the question: What is waiting to be executed? In this case, both a mouse click handler and a timer callback are waiting. The browser then picks one (the mouse click callback) and executes it immediately. The timer will wait until the next possible time, in order to execute. Note that while the mouse click handler is executing the first interval callback executes. As with the timer, its handler is queued for later execution. However, note that when the interval is fired again (when the timer handler is executing) this time that handler execution is dropped. If you were to queue up all interval callbacks when a large block of code is executing the result would be a bunch of intervals executing with no delay between them, upon completion. Instead, browsers tend to simply wait until no more interval handlers are queued (for the interval in question) before queuing more. We can, in fact, see that this is the case when a third interval callback fires while the interval, itself, is executing. This shows us an important fact: Intervals don't care about what is currently executing, they will queue indiscriminately, even if it means that the time between callbacks will be sacrificed. Finally, after the second interval callback is finished executing, we can see that there's nothing left for the JavaScript engine to execute. This means that the browser now waits for a new asynchronous event to occur. We get this at the 50ms mark when the interval fires again. This time, however, there is nothing blocking its execution, so it fires immediately. Let's take a look at an example to better illustrate the differences between setTimeout and setInterval. setTimeout(function(){ /* Some long block of code... */ setTimeout(arguments.callee, 10); }, 10); setInterval(function(){ /* Some long block of code... */ }, 10); These two pieces of code may appear to be functionally equivalent, at first glance, but they are not. Notably, the setTimeout code will always have at least a 10ms delay after the previous callback execution (it may end up being more, but never less) whereas the setInterval will attempt to execute a callback every 10ms regardless of when the last callback was executed. There's a lot that we've learned here, let's recap: JavaScript engines only have a single thread, forcing asynchronous events to queue waiting for execution. setTimeout and setInterval are fundamentally different in how they execute asynchronous code. If a timer is blocked from immediately executing it will be delayed until the next possible point of execution (which will be longer than the desired delay). Intervals may execute back-to-back with no delay if they take long enough to execute (longer than the specified delay). All of this is incredibly important knowledge to build off of. Knowing how a JavaScript engine works, especially with the large number of asynchronous events that typically occur, makes for a great foundation when building an advanced piece of application code. This is an excerpt from my work-in-progress book: Secrets of the JavaScript Ninja. To be released Fall 2008. Previous excerpt: Partial Function Application in JavaScript
May 22, 2023
by John Resig
· 20,821 Views · 1 Like
  • Previous
  • ...
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×