zoukankan      html  css  js  c++  java
  • 8

    1- 什么是构造函数?

         在js中,使用new关键字调用的函数为构造函数,构造函数首字母一般大写.

    2- 创建对象的方式有哪些?举例说明:

       (1) 使用new关键字创建:

     var person = new Object()
    
            person.name = '张三';
            person.age = 12;
            person.say = function () {
                console.log('你好 我是小小怪叫兽!')
            }
            console.log(person.age)
            person.say();

       (2) 字面量形式创建:

    var person = {
    
                name: '张三',
                age: 20,
                gender: '男',
                sayHai: function () {
                    console.log('你好我是大大怪将军')
                }
            }
            console.log(person.name)
       (3) 工厂模式创建:
     function createPerson(name, age, gender) {
                var o = new Object();
                o.name = name;
                o.age = age;
                o.gender = gender;
                o.sayHai = function () {
                    console.log(this.name)
                }
                return o;
            }
            var per1 = createPerson('李四', 20, '男');
            console.log(per1.name)
    (4) 构造函数形式创建:
    function Person(name,age,family) {
        this.name = name;
        this.age = age;
        this.family = family;
        this.say = function(){
            alert(this.name);
        }
    }
    var person1 = new Person("lisi",21,["lida","lier","wangwu"]);
    var person2 = new Person("lisi",21,["lida","lier","lisi"]);

    (5) 原型模式 (6) 混合模式

    3- js 种实现继承的方式:

        原型继承

        构造函数继承

        实例继承

        组合继承  (通过原型继承(方法)) + 构造函数继承(属性)

    4- 什么是闭包?有什么作用?

       函数A中有一个函数B,函数B中总是可以访问函数A中的数据或者变量,这样形成了闭包

       闭包模式:函数模式的闭包湖人对象模式的闭包

       闭包作用: 缓存数据, 延长作用域链;

    5- 什么是预解析?

       js代码执行之前会在相应的执行环境中(全局环境,局部环境)预先把一些东西(function,var定义的变量)解析到内存中;

       过程:

       (1)创建一个当前执行环境下的活动对象

       (2)将var声明的变量设置为活动对象的属性(也就是将其添加到活动对象当中),并将其赋值为undefined

       (3)将function定义的函数也添加到活动对象当中;

       函数定义的方法有:函数表达式,函数声明(当函数声明有提升)

       当变量和函数同名时,函数提升比变量提升优先级高

  • 相关阅读:
    Bit,Byte,Word,Dword,Qword
    One good turn deserves another
    IHttpModule & IHttpHandler
    畅想:哈夫曼树的应用
    The Controls collection cannot be modified because the control contains code blocks
    Talk O/RM (DAL) too ...
    实现对象集合枚举接口
    [ZT]实现创造生命的古老梦想——合成生物学的发展走向
    笔记本基础知识篇之DVI接口详解
    Analysis Services: write back
  • 原文地址:https://www.cnblogs.com/xuexiaotian/p/14457399.html
Copyright © 2011-2022 走看看