js-day06

对象的创建方式:1.new Object()创建对象  例如

 var person = new Object();
  person.name = 'lisi';
  person.age = 35;
  person.job = 'actor';
  person.sayHi = function(){
  console.log('Hello,everyBody');
}

2.工厂函数创建对象  实例:

function createPerson(name, age, job) {
  var person = new Object();
  person.name = name;
  person.age = age;
  person.job = job;
  person.sayHi = function(){
    console.log('Hello,everyBody');
  }
  return person;
}
var p1 = createPerson('张三', 22, 'actor');

3.自定义构造函数  例如:

function Person(name,age,job){
  this.name = name;
  this.age = age;
  this.job = job;
  this.sayHi = function(){
      console.log('Hello,everyBody');
  }
}
var p1 = new Person('张三', 22, 'actor');

函数的属性: 如果一个变量属于一个对象所有,那么该变量绝可以称之为该对象的的一个属性,这个属性一般是用来描述事物的特征的名词。

函数的方法:同上,如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,这个方法一般是用来描述事物的行为和功能的动词。

new关键字:1.构造函数用于创建一个新的空对象。

                     2.构造函数要和new一起使用才有意义  【new在执行时会做四件事情:1.new会在内存中创建一个新的空对象

                                                                                                                                     2.new会让this指向这个新对象

                                                                                                                                     3.执行构造函数 目的:给这个新对象加属性                                                                                                                                         和方法

                                                                                                                                     4.new会返回这个新对象】

this的四个特点:1.函数在定义的时候this是不确定的,只有在调用的时候才可以确定

                           2.一般函数直接执行,内部this指向全局window。

                           3.函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象

                           4.构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身                                 上,后续通过new关键字来调用,从而实现实例化

遍历对象的属性:可以通过for..in语法可以遍历一个对象  例如:

                                   var obj = {};
                                       for (var i = 0; i < 10; i++) {
                                               obj[i] = i * 2;
                                            }
                                       for(var key in obj) {
                                                console.log(key + "==" + obj[key]);
                                         }  

简单类型和复杂类型的区别:

基本类型又叫做值类型,复杂类型又叫做引用类型。

值类型:简单数据类型,基本数据类型,在存储时,变量中存储的是值本身,叫做值类型

引用类型:复杂数据类型。在存储是变量中存储的仅仅是地址(引用),叫做引用数据类型

猜你喜欢

转载自blog.csdn.net/qq_40104992/article/details/88696296