


Introduction to the usage and function of js operators single vertical bar '|' and '||'
In js development applications, we usually encounter "|" and "||", so what do "|" and "||" mean in operations?
In js integer operation, it is equivalent to removing the decimal point, parseInt. When it is a positive number, it is equivalent to Math.floor(), when it is a negative number, it is equivalent to Math.ceil() Note:
1. Math.ceil() is used to round up.
2. Math.floor() is used to round down.
3. Math.round() Rounding is commonly used in our mathematics.
console.log(0.6|0)//0
console.log(1.1|0)//1
console.log(3.65555|0)//3
console.log(5.99999|0)//5
console.log(-7.777|0)//-7
Operation rules of single vertical bar
After reading the above example, we generally know that single vertical bar can be used for rounding operations, that is, only the positive part is retained, and the decimal part is passed Remove it, but how does "|0" perform operations? Why can "|0" achieve the purpose of rounding? If the horizontal and vertical bar is not 0, what could it be?
With these questions, let’s look at the following example:
console.log(3|4); //7
console.log(4|4);//4
console.log(8|3);/ /11
console.log(5.3|4.1);//5
console.log(9|3455);//3455
The single vertical bar "|" is mentioned here but there is no javascript.
Okay, let me announce the answer here. In fact, the single vertical bar "|" is the result of the addition after converting to binary. For example, let’s take a simple example: After
3|4
is converted to binary, 011|100 is added to get 111=7
4|4
. After being converted to binary, 100|100 is added to get 100=4
8|3
After converting to binary, 1000 |011 is added to get 1011=11
And so on. I will not list them one by one here. The single vertical bar "|" operation is the result of adding after converting to binary!
JS double vertical bar operator
1. JS double vertical bar operator: yes or comparison. For example, null||'1', returns '1'; '2'||'1', returns '2'. That is, in the OR operator, the first one is true, and the subsequent ones do not need to be calculated. So we get '2'.
2. Use the double vertical bar operator "||" in js to return the first valid value
var objOne = undefined || 1 || null || new Date();
var objTwo = new Date( ; If the first operand is false, the second operand will not be considered and false will be returned directly; if the first operand of || is true, the second operand will not be considered and true will be returned directly. This is not the case with the & and | operators. They always have to compare two operands to get the result, so the performance of && and || will be better than & and |.
Function Usage
&& and || can only perform logical operations, while & and | can not only perform "logical operations", but also perform bit operations
Bit operations
& and | are originally bit operators. Therefore, "logical operations" can be performed because JS is a typeless language and each data type can be freely converted. When using & and | to perform "logical operations", in fact, true is converted into 1 and false. Converted to 0, and then performed bitwise operation:
document.write(true & false); //JS, the result is 0
The above sentence, the example is equivalent to the logical operation being converted into the following bit operation, and executed :
document.write(1 & 0); //JS, the result is 0
It is precisely because & and | are bitwise operators that what was mentioned in the first point appears, they always need to be compared It takes two operands to get the result, which results in lower performance than && and ||.

JavaScript core data types are consistent in browsers and Node.js, but are handled differently from the extra types. 1) The global object is window in the browser and global in Node.js. 2) Node.js' unique Buffer object, used to process binary data. 3) There are also differences in performance and time processing, and the code needs to be adjusted according to the environment.

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Chinese version
Chinese version, very easy to use

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Zend Studio 13.0.1
Powerful PHP integrated development environment

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool
