构造函数和对象

186 阅读1分钟
  • 全局作用域和局部作用域的区别 全局作用域:整个script标签或者是一个单独的js文件; 局部作用域(函数作用域):在函数内部就是局部作用域,这个代码的名字只在函数内部起作用和效果。

  • 书写定义函数的两种不同方式 `

      //2.表达式
      var fun = function (){
          console.log('我是函数表达式');
      }
      fun()
    
      /* 函数也是一种数据类型 */
    
  • 自定义创建对象,并使用对象的属性和方法 `

      //对象形式,是一个无序的集合,由‘属性’与‘方法’构成
      var person = {
          name : 'Dalun' ,
          heigt : '172cm' ,
          weight : '70kg' ,
          hobby : ['coding','travel'],
          eat : function(){
              console.log('不是很能吃,但是很能长肉');
          }
      }
      console.log(person.name);
      console.log(person['hobby']);
    
      person.eat('千万别忘记小括号')
    
      
      /* 
      现实生活中:万物皆对象
      JS中一切皆对象 */
    

    `

  • for...in遍历对象的所有属性

var dog = {
            dName: "coco",
            type: "阿拉斯加犬",
            age: "5岁",
            color: "棕红色"
        }
        for (var k in dog) { //for(变量 in 对象)
            console.log(dog[k]);
        }
  • 构造函数和对象的区别 构造函数指的是某一个大类; 对象特指某一个具体的事物; 我们利用构造函数创建对象的过程,也称为对象的实例化

  • new关键字的执行过程

        /* 
        构造函数
        1.函数首字母大写
        2.构造函数调用时要用关键词new
        3.构建函数可以不写return,但是本质上它返回的是return this */
        function Animal(name,age,gender){
            this.name = name
            this.age = age
            this.gender = gender

            return this
        }
        var Dalun = new Animal('junwei','18','男')
        console.log(Dalun);
    </script>