js tipo de variable y prototipo

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
  • 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')
    })
    

Supongo que te gusta

Origin blog.csdn.net/qq_39208971/article/details/108219846
Recomendado
Clasificación