Tipos de variables y cálculos
-
Que tipos se pueden obtener usando typeof en js
- typeof undefined // indefinido
- typeof "abc" // cadena
- tipo de 123 // número
- typeof true // booleano
- typeof {} // objeto
- typeof null // objeto
- typeof [] // objeto
- typeof console.log // función
-
Cuándo usar === Cuándo usar ==
-
if (obj.a == null) {
// Equivalente a obj.a === null || obj.a === undefined, forma corta. Esta es la forma recomendada de escribir en el código fuente de jquery
// Todas las demás situaciones se utilizan ===
}
-
-
¿Cuáles son las funciones integradas en js?
- Objeto
- Formación
- Booleano
- Número
- Cuerda
- Función
- Fecha
- RegExp
- Error
-
Qué tipos de variables js se clasifican según el método de almacenamiento y describen sus características
- Tipo de datos básico
- El valor se almacena en la memoria de la pila.
- Tipo de datos de la aplicación
- El valor se almacena en la memoria del montón, si hay un valor negativo, todo lo que obtiene es un puntero
- Tipo de datos básico
-
Cómo entender JSON
-
JSON es solo un objeto js
-
Método común
JSON.stringify ({a: 10, b: 20})
JSON.parse ('{“a”: 10, “b”: 20}')
-
-
-
Cómo determinar con precisión si una variable es un tipo de matriz
- instancia de Array
-
Escriba un ejemplo de herencia de cadena de prototipo
-
Todos los tipos de referencia (matrices, objetos, funciones) tienen características de objeto y pueden ser propiedades ampliadas libremente (excepto por accidentes "NULL")
-
Todos los tipos de referencia (matrices, objetos, funciones) tienen un
__proto__
atributo y el valor del atributo es un objeto ordinario. -
Todas las funciones tienen un atributo de prototipo y el valor del atributo también es un objeto ordinario
-
Para todos los tipos de referencia (matrices, objetos, funciones), el
__proto__
valor de la propiedad apunta al valor de la propiedad "prototipo" de su constructor. -
Al intentar obtener una determinada propiedad de un objeto, si el objeto en sí no tiene esta propiedad, la buscará
__proto__
(es decir, el prototipo de su constructor).// 动物 function Animal(){ this.eat = function() { console.log('animal eat'); } } // 狗 function Dog(){ this.bark = function() { console.log('dog bark') } } Dog.prototype = new Animal() // 哈士奇 var hashiqi = new Dog()
hasOwnProperty()
El método devuelve un valor booleano que indica si el objeto tiene la propiedad especificada (es decir, si tiene una clave especificada).
-
-
Describe el proceso de NUEVO un objeto
- Crea un objeto
- esto apunta a este nuevo objeto
- Ejecuta el código, es decir, asigna un valor a este
- Devuelve esto
-
Cómo utilizar la cadena de prototipos en el código fuente de zepto (u otro marco)
// 构造函数 function DomElement(selector) { var result = document.querySelectorAll(selector) var length = result.length var i for (i = 0; i < length; i++) { this[i] = selectorResult[i] } this.length = length } // 修改原型 DomElement.prototype = { constructor: DomElement, get: function (index) { return this[index] }, forEach: function (fn) { var i for (i = 0; i < this.length; i++) { const elem = this[i] const result = fn.call(elem, elem, i) if (result === false) { break } } return this }, on: function (type, fn) { return this.forEach(elem => { elem.addEventListener(type, fn, false) }) } } // 使用 var $div = new DomElement('div') $div.on('click', function() { console.log('click') })