JS Advanced Notes_javascript skills
JS Advanced
1. JS Data Types
1. Basic Types
JS has 5 basic types, which are:
1) Undefined. It has only one value: undefined. If a variable is defined but no value is assigned to it, then the system will assign the variable a value of undefined by default.
2) Null. It also has only one value: null. It is a reference type. When a variable that is intended to save an object does not point to an object due to various reasons, the variable can be assigned a value of null, which is usually done.
3) Number. Numeric type is a collection of integers and floating point types in C#. Its specific type depends on the situation in which it is assigned. Generally speaking, it is the type of the assigned value. Also note that var num = 1.0; at this time, num is an integer type, and it is a floating point type only when there is an exact value that is not 0 after the decimal point. There are some other knowledge points about the Number type, such as: NaN means that the value is not a number. isNaN() can determine that the incoming value is of Number type; parseInt() can convert the incoming parameter into a numeric type. If it contains If the string is a non-numeric type, the string will be automatically removed. The return value of parseInt("123blue") is 123, and the blue part of the string is ignored. Therefore, the parseInt() method can be understood as trying to convert the incoming parameters into integers. type, if it cannot be converted, the parts that cannot be converted will be ignored. The parseFloat() method is similar to the parseInt() method.
4)Boolean. The Boolean type, similar to the bool type in C#, has two values: true and false, but there is no corresponding relationship with numbers like 0 corresponding to False and 1 corresponding to true in C#.
5)String. The string type stores a character sequence consisting of 0 to 16-bit UNICODE codes.
2. Complex types
1) Object type. It is the top-level "parent class" of JS (because there is no concept of class in JS, and it is just for the convenience of understanding). It is a collection of data and methods (functions), but it does not have the traditional object-oriented language Supported classes and interfaces. The Object type is essentially an unordered list of key-value pairs, similar to a collection, in json format. It contains 7 methods, namely:
constructor() Constructor?
hasOwnProperty(propertyName) Check whether the property is in the current object
isPrototypeOf(object) Check whether the object is the prototype of the object
propertyIsEnumerable(propertyName) Check whether the property can be looped using for-in
toString( )
valueOf()
There are many ways to create Object:
By new keyword: var s = new Object(); s.name="james"; s.age=27;
Simple definition through JS: var s = {}; s.name="james"; s.age=27;
Object literal notation: var s = {"name":"james"," age":"27"};PS: The key of json format data does not need to be enclosed in double quotes. If the value is not a string, it does not need to be enclosed in double quotes. However, it is recommended that both key and value should be enclosed in double quotes. Avoid unnecessary trouble.
Method to access the properties of Object object:
s.name Click it directly.
s["name"]; The advantage of using square brackets (similar to indexers) is that properties can be dynamically accessed through variables: var proName="name"; alert(s[proName]);
2) Array type. It is an ordered list of data
. It is different from other arrays:
Array elements can be of any type, and the element types of the same array can also be different, which is equivalent to List
function sum( x, y) {
alert(this);
return x y;
}
//window.sum(1,2);
function callS() {
callS. callSum1(1, 2);
}
callS.callSum1 = function (x, y) {
alert(this);
var s = sum.apply(this, arguments);
//sum(1, 2);
return s;
}
callS();
The call() method is similar to the apply() method
above The two methods are not inherited and can expand the scope of the function. The biggest advantage of this is that the object and method do not need to have any coupling relationship. The first parameter passed in by both is the scope to be changed, the second parameter passed in by apply is a parameter array, and in call is passed in each named parameter.
2. Value types and reference types
Having talked about so many basic types (all value types except null) and complex types (basically all reference types), we need to understand why language designers design values Types and reference types. What's the difference between the two?
1. The value type content length is fixed, and the storage range of the reference type content length is not fixed, and can store data of variable length;
2. The value type can only store values, such as integers and strings. wait. The reference type can store the heap address of the object, allowing multiple variables to point to the same object;
3. The most important point is that the reference type can alleviate the storage pressure of the stack (value types are stored in the stack).
4. In JS syntax, basic data types cannot add attributes dynamically, while reference data types can add attributes dynamically.
3. Keywords for detecting types
1.typeof
Judge the type of basic type and return true or false
2.instanceof
Judge the type of complex (reference) type and return true or false
If you use it to determine the basic type, it will always return false
4. eval() method
The eval() method is quite powerful, it is equivalent to a parser. It only accepts one parameter, which is the JS code string to be executed. When the parser finds eval(), it will parse the parameters in eval() and insert them into the location where eval is executed. The effect is equivalent to writing JS code directly at the corresponding location.
5. Create objects
1) Simple factory pattern
2) Constructor pattern. Each instance includes all methods, which wastes memory.
3) Prototype mode. Save the method in the prototype so that all instances can call the method without having to save the method in each instance

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

The latest trends in JavaScript include the rise of TypeScript, the popularity of modern frameworks and libraries, and the application of WebAssembly. Future prospects cover more powerful type systems, the development of server-side JavaScript, the expansion of artificial intelligence and machine learning, and the potential of IoT and edge computing.

Different JavaScript engines have different effects when parsing and executing JavaScript code, because the implementation principles and optimization strategies of each engine differ. 1. Lexical analysis: convert source code into lexical unit. 2. Grammar analysis: Generate an abstract syntax tree. 3. Optimization and compilation: Generate machine code through the JIT compiler. 4. Execute: Run the machine code. V8 engine optimizes through instant compilation and hidden class, SpiderMonkey uses a type inference system, resulting in different performance performance on the same code.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

JavaScript is the core language of modern web development and is widely used for its diversity and flexibility. 1) Front-end development: build dynamic web pages and single-page applications through DOM operations and modern frameworks (such as React, Vue.js, Angular). 2) Server-side development: Node.js uses a non-blocking I/O model to handle high concurrency and real-time applications. 3) Mobile and desktop application development: cross-platform development is realized through ReactNative and Electron to improve development efficiency.

This article demonstrates frontend integration with a backend secured by Permit, building a functional EdTech SaaS application using Next.js. The frontend fetches user permissions to control UI visibility and ensures API requests adhere to role-base

The shift from C/C to JavaScript requires adapting to dynamic typing, garbage collection and asynchronous programming. 1) C/C is a statically typed language that requires manual memory management, while JavaScript is dynamically typed and garbage collection is automatically processed. 2) C/C needs to be compiled into machine code, while JavaScript is an interpreted language. 3) JavaScript introduces concepts such as closures, prototype chains and Promise, which enhances flexibility and asynchronous programming capabilities.

I built a functional multi-tenant SaaS application (an EdTech app) with your everyday tech tool and you can do the same. First, what’s a multi-tenant SaaS application? Multi-tenant SaaS applications let you serve multiple customers from a sing
