Cómo comenzar rápidamente con VUE3.0: ingrese y aprenda
recomendaciones relacionadas: Tutorial de JavaScript
que se ejecuta en el navegador del cliente. Cada navegador tiene un lenguaje de script de motor de análisis de JavaScript: no es necesario compilarlo, el navegador puede analizarlo y ejecutarlo directamente. Puede mejorar el proceso de interacción entre los usuarios y las páginas HTML, controlar los elementos HTML y hacer que la página sea dinámica. Efecto y mejora la experiencia del usuario
En 1992, Nombase desarrolló el primer lenguaje de scripting del lado del cliente, utilizado específicamente para la verificación de formularios. Nombrado: C--, luego renombrado: ScriptEase
En 1995, Netscape desarrolló un lenguaje de programación del lado del cliente: LiveScript. Posteriormente, se invitó a expertos de SUN a modificar LiveScript y llamarlo JavaScript.
En 1996, Microsoft copió JavaScript y desarrolló el lenguaje JScript.
En 1997, ECMA (Asociación Europea de Fabricantes de Computadoras) formuló un estándar para lenguajes de secuencias de comandos del lado del cliente: ECMAScript, que unifica los métodos de codificación de todos los lenguajes de secuencias de comandos del lado del cliente.
JavaScript = ECMAScript + cosas únicas de JavaScript (BOM+DOM)
lenguaje interpretado a.
b. Basado en objetos
c. Impulsado por eventos
d.tipo débil
e.alta seguridad
f. Multiplataforma
Si necesita insertar JavaScript en la página HTML, utilice la etiqueta <script>
.
<script> 和</script>
le dicen a JavaScript dónde comenzar y terminar.
Las líneas de código entre <script> 和</script>
contienen JavaScript
<script type="text/javascript" src="${request.contextPath}/static/js/homepage.js"></script>
window.alert()document.write()innerHTML console.log()
Para uso personal, console.log()
es más conveniente de usar en programación. Puede ver directamente el contenido de salida a través de la consola F12
// Este es el código: un comentario de una sola frase, normalmente la tecla Ctrl + L en el editor.
/* Este es el código*/: Comentarios de varias líneas, normalmente las teclas Ctrl + Mayús + L en el editor.
// Declarar una variable denominada prueba. var test;
var edad, nombre, sexo;// Declarar tres variables de edad, nombre y sexo
// Declarar variables al mismo tiempo y asignar valores var edad = 10, nombre = "Xiaoqiang", sexo = "1 ";
1. Consta de letras, números, guiones bajos y símbolos. No puede comenzar con un número.
2. No se pueden utilizar palabras clave, por ejemplo: mientras
3. Especificaciones que distinguen entre mayúsculas y minúsculas: método de escritura convencional
1. Los nombres de las variables deben ser significativos.
2. Cumplir con la nomenclatura de mayúsculas y minúsculas. La primera letra de la nomenclatura de mayúsculas y minúsculas está en mayúscula, como nombre de usuario.
Los tipos de datos incluyen: Number类型、String类型、Boolean类型、Undefined类型、Null类型、Object类型
Number类型、String类型、Boolean类型、Undefined类型、Null类型、Object类型
Tipo digital numérico: incluye números enteros y decimales y se puede expresar en: decimal, octal, hexadecimal,
como por ejemplo:
var num = 10; //Var decimal número1 = 012; //Var octal número2 = ox123; //Rango de valores hexadecimales
:
console.log(Number.MAX_VALUE); //El valor máximo es 5e-324console.log(Number.MIN_VALUE); // El valor mínimo es 1.7976931348623157e+308 Infinito: Infinito: -El
juicio numérico infinito no puede usar decimales para verificar decimales y no usa NaN para verificar si es NaN (NaN----no es un número) pero puedes usar isNaN — ¿No es el resultado de un número NaN?
Tales como:
var num; //Declarar una variable, no asignada console.log(isNaN(num)); // ¿No es verdadero un número? El resultado es verdadero
de escape de cadena:
carácter | de secuencia de escape |
---|---|
bbackspace | |
fpaper | feed |
nline | feed |
rcarriage | return |
tabulación horizontal (Ctrl-I) | |
' | comillas simples |
" | Comillas dobles |
barras dobles |
por ejemplo:
var str = "soy un pm\"console.log(str); // soy un pm
Concatenación de cadenas:
var str1 = "Mr.";var str2 = "Hola";console.log(str1+str2); // Hola señor,
si el resultado de empalmar cadenas y números es también el efecto de empalmar cadenas como se muestra arriba
Booleano Tipo booleano, los dos atributos true/false
Indefinido indefinido significa una variable que ha sido. declarada sin asignación, la variable Cuando solo se declara, el valor predeterminado es indefinido.
Por ejemplo:
var num;console.log(num); // indefinido
Null representa un valor nulo Si el valor de la variable va a ser nulo, debe establecerse manualmente
2.3.1
, Número() Cualquier valor se puede convertir en un valor numérico. Si hay un carácter en la cadena que se va a convertir que no es un valor numérico, se devuelve NaN.
Por ejemplo:
var num1 = Número("10");console.log(num1); // 10var num2 = Número('10adbdn');console.log(num2); //NaNvar num3 = Número("10.78");console.log(num3); //10.78var num4 = Número('10.65dd');console.log(num4); //NaNvar num5 = Número("a10");console.log(num5); //NaN
(2), parseInt() convierte a un número entero como:
var num1 = parseInt("10");console.log(num1); // 10var num2 = parseInt('10adbdn');console.log(num2); //10var num3 = parseInt("10.78");console.log(num3); //10var num4 = parseInt('10.65dd');console.log(num4); //10var num5 =parseInt("a10");console.log(num5); //NaN
(3), convierte parseFloat() a decimal, como:
var num1 = parseFloat("10");console.log(num1); // 10var num2 = parseFloat('10adbdn');console.log(num2); //10var num3 = parseFloat("10.78");console.log(num3); //10var num4 = parseFloat('10.65dd');console.log(num4); //10var num5 = parseFloat("a10");console.log(num5)
La diferencia entre (4), Number(), parseInt() y parseFloat();
Number() es más estricto que parseInt() y parseFloat().
parseInt() es similar a parseFloat(), parseFloat analizará el primero. Cuando encuentre el segundo o el extremo no numérico
(1), toString().
Por ejemplo:
var num = 10;console.log(num.toString()); // Cadena 10
(2), Cadena()
Por ejemplo:
var num1 =5;console.log(String(num1)); // Cadena 5
(2), JSON.stringfy()
0, cadena vacía, nulo, indefinido, NaN se convertirá a falso, otros se convertirán a verdadero
Por ejemplo:
var num1 = Boolean(0);console.log(num1); // falsevar num2 = Boolean("");console.log(num2); // falsevar num3 = Boolean(null);console.log(num3); / falsevar num4 = Booleano(indefinido);console.log(num4); // falsevar num5 = 10;var num6;console.log(Boolean(num5+num6)); / false
Tipos de operadores: operadores aritméticos, operadores compuestos, operadores relacionales, operadores lógicos
(1), operadores aritméticos: "+" "-" "*" "/" "%"
Expresiones aritméticas: expresiones conectadas por operadores aritméticos.
Operadores compuestos: "+=""-=""*=""/=""%=".
Expresiones de operaciones compuestas: Expresiones (3) conectadas por operadores compuestos
, operadores relacionales: ">""<"">=""<="" "" =""!=""!== "
Expresión de operación relacional: expresiones conectadas por operadores relacionales
Expresión de operación lógica:(4), operadores lógicos: "&&" "||" "!"
Expresión 1 && Expresión 2
conectada por operadores lógicos
Si uno de ellos es falso, todo el resultado es falso.
Expresión 1 || Expresión 2.
Si uno de ellos es verdadero, todo el resultado es falso
. ¡El resultado de la expresión es verdadero y todo el resultado es falso!
El resultado de la expresión es falso y el resultado completo es verdadero
es de mayor a menor:
() El operador unario de mayor prioridad ++ – !
Los operadores aritméticos son */% y luego + -
Operadores relacionales > >= < <=
Operador de igualdad == != === !==
Los operadores lógicos son && seguidos de ||
Operador de asignación
Las funciones en JavaScript son objetos. Un objeto es una colección de pares nombre/valor y tiene una conexión oculta con el objeto prototipo. El objeto producido por el objeto literal está conectado a Object.prototype. Los objetos de función están conectados a Function.prototype (que a su vez está conectado a Object.prototype). Cada función tendrá dos atributos ocultos adjuntos cuando se cree: el contexto de la función y el código que implementa el comportamiento de la función
la función nombre de función() {aquí está el código a ejecutar}
Sintaxis:
Los paréntesis pueden incluir argumentos separados por comas:
(argumento1, argumento2,…)
El código ejecutado por la función se coloca entre llaves: {}
nombre de la función(argumento1, argumento2, argumento3) { Código a ejecutar}
Los argumentosLos parámetros de la función son los nombres que figuran en la definición de la función.
de
:la función son los valores reales recibidos por la función cuando se llama a la función
// Cree una función sumfunction aquí sum(num1, num2) { resultado var = número1 + número2; console.log("num1 + num2 = " + resultado);}// Llamada a función sum(10, 20);
ejecuta la función inmediatamente:
$(function(){ //No solo las funciones, todas las salidas variables, etc. escritas aquí son cargas de página y se ejecutan directamente sum()})2.7.
. Sintaxis: Reg = /pattern/modifiers;
la regularidad literal consta de dos barras diagonales //, y la regla se escribe después de la primera barra diagonal: /pattern[Las reglas pueden escribir varios metacaracteres establecidos | afirmar...] . Después de la segunda barra diagonal, escriba el identificador /modificadores [g coincidencia global | ignoro mayúsculas y minúsculas | m coincidencia de nueva línea |
var Reg = /caja/gi;
Constructor. Sintaxis Reg = new RegExp( pattern , modifiers );
; No importa cómo lo crees, es lo mismo: plantilla de patrón, contenido que debe coincidir y modificadores.
var Reg = new RegExp("box","gi");
en | String |
---|---|
String.match(Reg) | devuelve una matriz que contiene todas las cadenas que coinciden con RegExp o null |
String.search(Reg ) | Devuelve la posición donde aparece por primera vez la cadena coincidente RegExp |
String.replace(Reg, newStr) | Reemplaza el resultado coincidente RegExp con newStr y devuelve la nueva cadena |
String.split(Reg) | Devuelve una matriz en la que la cadena se divide según la |
varRegExp especificada
cadena = 'a1b2c3a4a5', reg = /a/g;console.log(str.match(reg)); //["a", "a", "a"]var str = 'a1b2c3a4a5', reg = /a/;console.log(str.search(reg)); //0var str = 'a1b2c3a4a5', reg = /a/g;console.log(str.replace(reg,función(){ console.log(argumentos); devolver 5555;}));var cadena = 'a,b,c,d', reg = //g;//console.log(str.split(',')); //["a", "b", "c", "d"]console.log(str.split( reg)) //["a", "b", "c", "d"]
RegExp.exec | ( |
---|---|
String) | realiza una búsqueda coincidente en la cadena y devuelve el primer resultado coincidente Array |
RegExp.test(String) | prueba la coincidencia de patrones en una cadena y devuelve verdadero o falso |
Los modificadores también se denominan identificadores y pueden especificar patrones de coincidencia. Los modificadores se utilizan para realizar coincidencias globales y que distinguen entre mayúsculas y minúsculas.
Ignorar la coincidencia de casos.
g coincide globalmente. Sin g, solo coincide el primer elemento y no se realiza ninguna coincidencia.
m realiza una coincidencia de varias líneas
var patt = /pattern/i; //Ignora la coincidencia de casos var patt = /pattern/g; //Coincidencia global var patt = /pattern/m //Realiza una coincidencia de varias líneas
son caracteres especiales que tienen un significado especial en las expresiones regulares.
Caracteres especiales de traducción.
Un solo carácter, excepto nueva línea n y tabulación r. Carácter de escape, símbolos de escape con significado especial a símbolos ordinarios: .d Números [0~9]D No númeross EspaciosS No espaciosw Caracteres [letras|dígitos|guión bajo]W No- carácter b límite de palabra (excepto (palabra) alfanumérica_ son todos límites de palabra) B límite sin palabra
var reg = /./;//match.var reg = /\/;//match var reg = / //;//Match /var str = '\';var reg = /\/g;console.log(reg.test(str)); //true
Un objeto Fecha es un objeto relacionado con la fecha y la hora. Es dinámico y debes usar la nueva palabra clave para crear una instancia, como por ejemplo:
var Misdatos=nueva Fecha();
El objeto Date no proporciona propiedades de acceso directo, solo métodos para obtener y establecer la fecha, como se muestra en la siguiente tabla
El objeto String es un objeto de procesamiento de cadenas proporcionado por JavaScript. Solo se puede hacer referencia a él después de crear una instancia de objeto. Proporciona propiedades y métodos para procesar cadenas (similar a Java).
Longitud de la propiedad: devuelve el número de caracteres de la cadena.
Nota: ¡Un carácter chino también es un carácter! !
:
Métodos de objetos matemáticos:
las funciones trigonométricas (sin(), cos(), tan(), asin(), acos(), atan(), atan2()) devuelven valores en radianes. Puede convertir radianes a grados dividiendo Math.PI / 180 o mediante otros métodos.
Descripción | del método |
---|---|
Math.abs(x) | devuelve el valor absoluto de x. |
Math.acos(x) | devuelve el coseno inverso de x. |
x | ) |
devuelve | el coseno hiperbólico inverso de x. |
El arcoseno de x. | |
Math.asinh(x) | devuelve el seno hiperbólico inverso de x. |
) | |
devuelve | el arcotangente de x como un número entre -PI/2 y PI/2 radianes. |
devuelve la tangente hiperbólica inversa de x. | |
Math.atan2(x, y) | devuelve el arcotangente de y/x |
Math.cbrt(x) | devuelve la raíz cúbica de x. |
Math.ceil(x) | devuelve el valor de x redondeado. Math.clz32 |
(x) | Devuelve el número de ceros iniciales de un entero de 32 bits. |
Math.cos(x) | devuelve el coseno de x. |
Math.cosh(x) | devuelve el valor hiperbólico de x Valor del coseno |
. | |
( | |
2.718 | …), la base de logaritmos naturales |
Math.expm1(x) | devuelve el valor de exp(x)-1. |
devuelve el mayor entero menor que x. | |
precisión | |
simple | más cercana de un número |
Math.hypot([x[,y[,…]]]) | Devuelve la raíz cuadrada de la suma de los cuadrados de sus argumentos. |
x) | Devuelve el resultado de una multiplicación de enteros de 32 bits. |
Math.log(x) | Devuelve el logaritmo natural (loge, también ln) de un número |
Math.log1p(x) | Devuelve el logaritmo natural de 1 + x (loge, también ln) de un número. |
Math.log10(x) | Devuelve el logaritmo en base 10 de x. |
) | |
Devuelve | el logaritmo en base 2 de x. |
) | devuelve el valor máximo de 0 a múltiples valores. |
Math.min([x[,y[,…]]]) | devuelve el valor mínimo de 0 a múltiples valores. |
Math.pow(x,y) | devuelve el valor de x. y power. |
Math.random() | devuelve un número pseudoaleatorio entre 0 y 1. Puede ser igual a 0, pero debe ser menor que 1. |
Math.round(x) | devuelve un número entero redondeado. .round(-4.40) es -4 |
Math.sign(x) | devuelve la función de signo de x, que determina si x es positivo, negativo o 0. |
) | |
devuelve | el valor del seno. |
devuelve el valor del seno hiperbólico de x. | |
Math.sqrt (x) | devuelve la raíz cuadrada de x. |
Math.tan(x) | devuelve la tangente de x. |
Math.tanh(x) | devuelve la tangente hiperbólica de x |
. ) | devuelve la cadena "Math". |
Math.trunc( x) | Devuelve la parte entera de x, eliminando los decimales. |
Ejemplo 1: escriba una función que devuelva un entero aleatorio de mínimo a máximo, incluyendo mínimo pero excluyendo
la función máxima getRandomArbitrary(min). , máximo) { return min + Math.random() * (max - min);}
Ejemplo 2: escribir una función para generar una cadena aleatoria de longitud n. El rango de valores de los caracteres de la cadena incluye de 0 a 9, de a a z, de A a Z.
función getRandomInt(mín, máx) { return min + Math.floor(Math.random() * (max - min + 1));}función randomStr(n){ var dict = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; var cadena = ''; para(i = 0; i < n;i++){ str += dict[getRandomInt(0,62)]; } return str;}var str = getRandStr(10);console.log(str);2.8.4
Clasificación de
la matriz
1. Matriz bidimensional. La esencia de una matriz bidimensional es que los elementos de la matriz también son matrices.
2
de la columna 2 y fila 1 de unamatriz dispersa
. a partir de 0 El índice inicial no contiguo de la matriz. En matrices dispersas, el valor del atributo de longitud es generalmente mayor que el número real de elementos (poco común)
Ejemplo
var a=["a",,"b",,,,"c",,];
Atributo de objeto de matriz
Función | de atributo |
---|---|
El | |
atributo de longitud | representa la longitud de la matriz, es decir, el número de elementos que contiene. |
El atributo prototipo | devuelve una referencia al prototipo del tipo de objeto. |
El atributo constructor | representa la función que crea el objeto |
1.Atributo de longitud:
alert(arr.length); //Muestra la longitud de la matriz 10arr.length=15; /Aumente la longitud de la matriz, el atributo de longitud es variable alert(arr.length); //Muestra que la longitud de la matriz se ha convertido en 15
2.atributo prototipo
El atributo prototipo devuelve una referencia al prototipo del tipo de objeto. La propiedad del prototipo es común a los objetos.
nombreObjeto.prototipo
El parámetro objectName es el nombre del objeto objeto.
Descripción: utilice el atributo prototipo para proporcionar un conjunto de funciones básicas de la clase del objeto. Las nuevas instancias de un objeto "heredan" las operaciones asignadas al prototipo del objeto.
Para objetos de matriz, utilice el siguiente ejemplo para ilustrar el uso del atributo prototipo.
Agregue un método al objeto de matriz que devuelva el valor máximo del elemento en la matriz. Para lograr esto, declare una función, agréguela a Array.prototype y úsela.
función matriz_max(){ var i, máx = esto[0]; para (i = 1; i < esta.longitud; i++){ si (max < esto[i]) máx = esto[i]; } return max;}Array.prototype.max = array_max;var x = new Array(1, 2, 3, 4, 5, 6);var y = x.max
( 3.atributo
);constructor El atributo constructor representa lo creado
función del objeto.
object.constructor //objeto es el nombre del objeto o función.
Descripción: El atributo constructor es miembro de todos los objetos con prototipo. Incluyen todos los objetos nativos de JScript excepto los objetos Global y Math. El atributo constructor contiene una referencia a la función que construye una instancia de objeto específica.
Por ejemplo:
x = new String("Hola");if (x.constructor == String) // Proceso (la condición es verdadera). //o función MyFunc {// Cuerpo de la función. }y = new MyFunc;if (y.constructor == MyFunc) // Proceso (la condición es verdadera).
Método de objeto de matriz <br/> Descripción: Parte de esto es una nueva característica de ECMAScript5 (no compatible con IE678).
La | función | del método
---|---|
concat() | conecta dos o más matrices y devuelve el resultado |
join() | que combina los elementos de la matriz |
en una cadena | |
pop() | elimina y devuelve el último elemento de la matriz |
push() | agrega uno o más elementos al final de la matriz y devuelve la nueva longitud |
inversa | invierte el orden de los elementos en la matriz |
shift() | elimina y devuelve el primer elemento de la matriz |
slice() | comienza desde Una matriz existente devuelve los elementos seleccionados |
sort() | ordena los elementos de la matriz |
splice() | elimina elementos y agrega nuevos elementos a la matriz |
toSource() | devuelve el código fuente del objeto |
toString( ) | convierte la matriz en una cadena y devuelve el resultado |
toLocalString() | convierte la matriz en elementos locales y devuelve el resultado |
unshift | agrega uno o más elementos al comienzo de la matriz y devuelve la nueva longitud |
valueof() | devuelve el valor original de la matriz objeto |
forEach() | atraviesa la matriz objeto |
map() | empareja la matriz Realiza algún mapeo |
filter() | filtra |
cada() | verifica y juzga |
some() | verifica y juzga |
reduce() | realiza ciertas operaciones en pares |
reduceRight() | realiza operaciones de derecha a izquierda |
indexOf() | recuperación de matriz para encontrar un determinado elemento |
Array.isArray ([]) | Determinar si es una matriz |
explica principalmente algunas características nuevas
concat
La función de concat es empalmar matrices. Cabe señalar que un elemento de matriz también se puede utilizar como elemento empalmado. En este caso, la matriz se aplanará y luego se unirá con otros elementos para formar una nueva matriz. , pero no se aplanará dos veces. concat no modifica la matriz original.
Por ejemplo:
var arr=[1,2,3,4,5];arr.concat([10,11],13);//[1,2,3,4,5,10,11,13] arr .concat([1,[2,3]]);//[1,2,3,4,5,1,[1,3]]
segmento
El segmento (a, b) a y b puede tomar números negativos, lo que significa que una matriz se intercepta desde la posición a hasta la posición b. Es un intervalo que está cerrado por la izquierda y abierto por la derecha. números Si es un número negativo, significa los últimos elementos a/b
var arr=[1,2,3,4,5];arr.slice(1,3);//[2,3]arr. rebanada(1);//[2,3,4, 5]arr.slice(1,-1);//[2,3,4]arr.slice(-4,-3);//[2 ]
empalme
empalme elimina elementos y agrega nuevos elementos a la matriz
object.splice(a) elimina elementos de la izquierda
object.splice(a, b) intercepta b elementos comenzando desde la posición a
object.splice(a, b, c, d) intercepta b elementos a partir de la posición a e inserta cyd o más elementos en la matriz original. Cabe señalar que el empalme modificará la matriz original
var arr=[1, 2 ,3,4,5];arr.splice(2);//[3,4,5]arr;//[1,2];La matriz original ha sido modificada var arr=[1,2,3 ,4 ,5];arr.splice(2,2);//[3,4]arr;//[1,2,5];var arr=[1,2,3,4,5];arr .splice (1,1,'a','b');//[2]arr;//[1,"a","b",3,4,5]
;
La función foreach() atraviesa la matriz de principio a fin. Hay tres parámetros: elementos de la matriz, índice de elementos y la propia matriz
var arr = [1, 2, 3, 4, 5]; arr.forEach(function(x, index, a){//Correspondiente a: matriz elementos, el índice del elemento, la matriz misma console.log(x + '|' + index + '|' + (a === arr));});// 1|0|true// 2| 1|verdadero/ / 3|2|verdadero// 4|3|verdadero// 5|4|verdadero
reducir()
reduce() de Array aplica una función a [x1, x2, x3...] de este Array. Esta función debe recibir dos parámetros. reduce() continúa el resultado y realiza un cálculo acumulativo con el siguiente elemento de la secuencia. es:
[x1, x2, x3, x4].reducir(f) = f(f(f(x1, x2), x3), x4)
var arr = [1, 2, 3];var suma = arr.reduce ( función(x, y) { return x + y}, 0); //El parámetro 0 es opcional. Si se escribe el parámetro 0, los dos valores pasados por primera vez son 0 y 1. Si no, los dos primeros valores. se pasan por primera vez los dos primeros valores de la matriz, el resultado del cálculo es 6arr //[1, 2, 3]arr = [3, 9, 6];var max = arr. reducir(función(x, y) { console.log(x + "|" + y); return x > y ? x : y;});// 3|9// 9|6max //
Comparación de 9 matrices y objetos generales
;Las matrices y los objetos generales | |
---|---|
se pueden heredar | de la misma manera | . El objeto no tiene que ser una matriz, pero puede tratarse como un objeto para agregar atributos.
matriz | actualiza automáticamente la longitud por índice. atributos.
Comparación de matrices y cadenas
. |
Las
cadenas | |
---|---|
no | tienen |
métodos | de matriz. |
se utiliza para serializar objetos js en cadenas JSON.
={name:"xiaoming",age:12}var json=JSON.stringify(person); //{"name":"xiaoming","age":12}
Además de aceptar objetos, stringify()
Puedes también acepta 2 parámetros. El primer parámetro es un filtro, que puede ser una colección de matrices de propiedades de objetos o una función. El segundo parámetro es una opción que indica si se conserva el
filtro de matriz con sangría en la cadena JSON:
json=JSON.stringify(. persona,['nombre']); //{"nombre":"xiaoming"}
Filtro de función:
json=JSON.stringify(persona,función(clave,valor){ cambiar(tecla){ caso "nombre": valor de retorno+",wang"; caso "edad": devolver indefinido; por defecto: valor de retorno; }});//{"name":"xiaoming,wang"}
Tenga en cuenta que si la función devuelve indefinido, este atributo se ignorará
la sangría de la cadena:
json=JSON.stringify(person,null,4); "nombre": "xiaoming", "age": 12}
Agregar el método toJSON() al objeto:
var person={ nombre: "xiaoming", edad: 12, aJSON:función(){ devolver este.nombre+" es "+esta.edad; }}json=JSON.stringify(person);console.log(json); //"xiaoming es 12"
Además de aceptar una cadena json, parse() también puede aceptar un parámetro de función. Esta función acepta 2 valores, una clave y un valor;
var person=JSON.parse('{"name":"xiaoming","age":12}');var person=JSON.parse('{"name "; :"xiaoming","edad":12}',función(clave,valor){ si(clave=="edad"){ valor de retorno+10; } demás{ valor de retorno; }});
1. Cree un objeto asincrónico XMLHttpRequest.
2. Establezca el método de solicitud y la dirección de solicitud.
3. A continuación, utilice enviar para enviar la solicitud.
4. Supervisar los cambios de estado
5. Finalmente, reciba los datos devueltos
Ejemplo:
const xhr = new XMLHttpRequest()xhr.open('GET', './data/test.json', true)xhr.onreadystatechange = function () { if (xhr. estadoListo === 4) { si (xhr.status === 200) { console.log(JSON.parse(xhr.responseText)) } demás { console.log('Otras situaciones...') } }}xhr.send()
$.ajax({ escriba: "post", // URL del método de solicitud: "a.php", // La dirección de enlace del servidor tipo de datos: "json", // El formato de transmisión y recepción de datos: { nombre de usuario: "james", contraseña: "123456" }, éxito: función (datos){// Función console.log (datos) llamada cuando se reciben datos correctamente; // los datos son los datos devueltos por el servidor}, error:function(request){//La función llamada cuando falla la solicitud de datos alert("Se produjo un error:"+request.status); }});
2.10.3.Estructura
$.get(url, [datos], [devolución de llamada], [tipo])
Explicación del parámetro:
// Paso 1: Crear un objeto asincrónico var ajax = new XMLHttpRequest(); // Paso 2: Establecer los parámetros de URL de la solicitud El primer parámetro es el tipo de solicitud y el segundo parámetro es el urlajax.open( "get", "users.json");//Paso 3: enviar una solicitud ajax.send();//Paso 4: registrar el evento onreadystatechange Cuando el estado cambia, ajax.onreadystatechange = function () { si (ajax.readyState == 4 && ajax.status == 200) { //Paso 5: si puede ingresar este juicio, significa que los datos regresaron perfectamente y la página solicitada existe console.log(ajax.responseText); //Ingrese el contenido de la respuesta}}
Tiene la misma estructura y uso que el método $.get(), pero aún existen algunas diferencias entre ellos.
1. Post es más seguro que get; los parámetros de la solicitud se empalmarán en la parte posterior de la URL, la seguridad es baja. Cuando se realiza una solicitud en modo de publicación, los parámetros de la solicitud se incluirán en el cuerpo de la solicitud, lo cual es más seguro.
2. Diferencia en cantidad: la cantidad de datos transmitidos por el método get es pequeña y no puede exceder los 2 kb, mientras que la cantidad de datos solicitados por el método post es grande y no hay límite.
3. Velocidad de transmisión: la velocidad de transmisión de get es mayor que la de post
Debido a que el método de uso es el mismo, siempre que se cambie la función jQuery, el programa se puede cambiar entre solicitudes GET y solicitudes POST
getCookie(c_name){ if (document.cookie . length>0){ //Primero verifique si la cookie está vacía. Si está vacía, devuelva "" c_start=document.cookie.indexOf(c_name + "=") //Verifique si la cookie existe a través de indexOf() del objeto String Si no existe, es -1 if (c_start!=-1){ c_start=c_start + c_name.length+1 //El último +1 en realidad representa el número "=", obteniendo así el. posición inicial del valor de la cookie c_end= document.cookie.indexOf(";",c_start) // En realidad, estaba un poco mareado cuando vi por primera vez el segundo parámetro de indexOf(). Más tarde recordé que significa el inicio especificado. posición del índice... Esta oración es para obtener la posición final del valor. Debido a que debe considerar si es el último elemento, puede juzgar si existe el signo ";" si (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) //El valor se obtiene mediante substring(). Si desea comprender unescape (), primero debe saber qué hace escape (). Es una base muy importante. Si desea saber más, puede buscar los detalles de la codificación de cookies. el artículo} } return "" }
$.cookie("groupCode",222)
cookies document.cookie = "nombre=valor;expires=fecha"
document.cookie = "nombre de usuario=zhangsan ";document.cookie = "nombre de usuario=lisi";var cookies = document.cookie;console.log(cookies);
= "nombre de usuario=zhangsan" ";document.cookie = "nombre de usuario =; expira = jueves, 01 de enero de 1970 00:00:00 GMT";var cookies = document.cookie;console.log(cookies);
for is el bucle más utilizado, utilizado principalmente para bucles de matrices
let arr = [1,2,3];for (let i=0; i<arr.length; i++){ console.log(i,arr[i])}// 0 1// 1 2// 2 3
Sintaxis: arr.forEach(callback(currentValue [, index [, array]])[, thisArg]);
la devolución de llamada es una función ejecutada para cada elemento de la matriz. La función recibe tres parámetros, valor actual (el elemento actual que se procesa en la matriz), índice (el índice del elemento actual que se procesa en la matriz). ), matriz (la matriz en la que opera el método forEach())
thisArg es el valor utilizado como this cuando se ejecuta la función de devolución de llamada.
let arr = [1, 2, , 3]let arrCopy1 = []arr.map((item, index, arr) => { arrCopy1.push(item * 2)})console.log(arrCopy1)// [2, 4, 6]
forEach() ejecuta la función de devolución de llamada una vez para cada elemento de la matriz se omitirán (por ejemplo, en matrices dispersas). )
A diferencia de map() y reduce(), no tiene valor de retorno y siempre devuelve indefinido.
ForEach() no tiene otra forma de abortar o salir del bucle forEach() que no sea lanzar una excepción.
while La declaración while puede ejecutar un bucle para ejecutar un fragmento de código específico bajo la premisa de que una determinada expresión condicional es verdadera, hasta que el bucle finaliza cuando esa expresión no es verdadera.
Ejemplo:
sea n = 0 (n <; 3) { n++;}console.log(n);//salida esperada: 3Nota
: use la instrucción break para detener el ciclo antes de que el resultado de la evaluación de la condición sea verdadero
La instrucción do… while crea un bucle que se ejecuta. la declaración especificada hasta que el valor de la condición sea falso. Detecta la condición después de ejecutar la declaración, por lo que la declaración especificada se ejecuta al menos una vez.
Ejemplo:
const list = ['a', 'b', 'c']let i = 0do { console.log(lista[i]) //valor console.log(i) //índice i = i + 1} while (i < list.length)
El bucle for…in se puede utilizar para recorrer la lista de atributos enumerables del objeto (incluida la cadena [[Prototype]]) y
es utilizado principalmente para atravesar el objeto
. console.log (propiedad) // Nombre de la propiedad console.log (objeto [propiedad]) // Valor de propiedad}
Recomendaciones relacionadas: JavaScript Learning Tutorial
Lo anterior es un resumen detallado de los puntos de conocimiento de aprendizaje de JavaScript.