zoukankan      html  css  js  c++  java
  • 对象和面向对象

     1  var dog = {
     2         // 属性
     3         name: "旺财",
     4         age: 10,
     5         dogFriends: ["阿黄", "阿菜", "飞毛腿"],
     6 
     7         // 方法
     8         eat:  function () {
     9             console.log("吃");
    10         },
    11 
    12         run: function () {
    13             console.log("跑");
    14         }
    15     };
    16     console.log(typeof dog);
    17     console.log(dog);
    18 
    19     dog.name = "张三";
    20     console.log(dog.name);
    21 
    22     dog.eat();
    1  总结:
    2     1)对象:属性和方法
    3     2)函数和对象有什么区别?
    4       - 函数,可以封装一段代码
    5       - 对象,封装一组属性和方法
    js对象的分类
    1、内建对象:string number boolean function object math
    2、宿主对象 :bom dom
    3、自定义对 1 创建对象的几种方法
     2 1、对象字面量
     3 var xl = {
     4             name = '小撩',
     5             age = 22,
     6             sex = '女',
     7             doIt = function () {
     8                 console.log('我是IT界的女扛把子!'),
     9             }
    10       } 
    11     写死了
    12 
    13 2. new Object()创建对象
    14 
    15   var xl = new Object();
    16         xl.name = '小撩';
    17         xl.age = 22;
    18         xl.sex = '女';
    19         xl.doIt = function () {
    20             console.log('我是IT界的女扛把子!');
    21         }   
    22     不能量产
    23 
    24 3.工厂函数创建对象
    25         
    26     function createPerson(name, age, sex) {
    27         var person = new Object();
    28              person.name = name;
    29              person.age = age;
    30              person.sex = sex;
    31              person.doIt= function(){
    32                  console.log('我是IT界的女扛把子!');
    33              };
    34              return person;
    35       }
    36      var xl = createPerson('小撩', 22, '女');
    37      console.log(xl);
    38 
    39 4. 自定义构造函数
    40         
    41         function Person(name, age, sex){
    42              this.name = name;
    43              this.age = age;
    44              this.sex= sex;
    45              this.doIt= function(){
    46                  console.log('我是IT界的女扛把子!');
    47              }
    48          }
    49          var xl = new Person('小撩', 22, '女');
    50         //终极的一种方式 继承于object中的function构造函数
           //构造函数本身就是一个函数,必须要与new成对出现

    //new的执行过程       
    1)new先在内存中创建一个新的空对象
    2)new 会让this指向这个新的对象
    3)执行构造函数,给这个新对象加属性和方法
    4)返回这个新对象
     1 this出现在以下位置,分别代表:
     2         1) 函数中, this指向Window
     3         2) 方法中, this指向的是这个方法所属的对象
     4         3) 构造函数中, this 就是构造函数创建的对象
     5 
     6         1) 函数中
     7 
     8         function fn() {
     9             console.log(this); // Window
    10         }
    11         fn();
    12 
    13 
    14         2) 对象
    15 
    16         var obj = {
    17             name: '小撩',
    18             fn: function () {
    19                 console.log(this);
    20                 console.log(this.name);
    21             }
    22         };
    23         obj.fn();
    24 
    25 
    26         3) 构造函数
    27 
    28         function Fn() {
    29             this.name = '小撩';
    30             this.age = 200;
    31             console.log(this);
    32         }
    33 
    34         var object = new Fn();  // 调用构造函数  this指向被创建的对象
    35         Fn(); // 函数调用,this必然指向window
  • 相关阅读:
    nexus下载远程maven中央仓库的解决方案
    commons-logging 与log4j的关系
    maven设置代理服务器或者镜像服务器
    start with connect by prior 递归查询用法
    想成为马斯克一样创新钢铁侠?首先要学会他的学习方法
    mybatis 一对多,多对一配置
    17款工具,让你的数据更美观
    java spring事务管理相关
    PL/SQL链接Oracle数据库 导出表结构和表数据
    ORACLE创建表空间和用户,并分配权限
  • 原文地址:https://www.cnblogs.com/zhangzhengyang/p/11178950.html
Copyright © 2011-2022 走看看