zzzzy09

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
JavaScript 对象基础

对象是一个包含相关数据和方法的集合(通常由一些变量和函数组成,我们称之为对象里面的属性和方法)
var objectName = {
  member1Name : member1Value,
  member2Name : member2Value,
  member3Name : member3Value
}

点表示法
在上面的例子中,你使用了点表示法(dot notation)来访问对象的属性和方法。
对象的名字表现为一个命名空间(namespace),它必须写在第一位——当你想访问对象内部的属性或方法时,
然后是一个点(.),紧接着是你想要访问的项目,标识可以是简单属性的名字(name),或者是数组属性的一个子元素,又或者是对象的方法调用。如下所示:

person.age
person.interests[1]
person.bio()

子命名空间
可以用一个对象来做另一个对象成员的值。
name : ['Bob', 'Smith'],
改成
name : {
  first : 'Bob',
  last : 'Smith'
},
括号表示法
person['age']
person['name']['first']

"this"的含义
关键字"this"指向了当前代码运行时的对象( 原文:the current object the code is being written inside )——这里即指person对象,

    <script>
        //创建函数的三中方式
        //1。函数声明使用 function
        function fun(num1,num2) {
            return num1 + num2
        }
        console.log(fun(1,2));

        //2. 函数表达式
        var fname = function (num1,num2) {
            return num1 + num2
        }
        console.log(fname(3,4));
        //3. 函数对象方式
        var oname = new Function('num1', 'num2','return num1 + num2');
        console.log(oname(4,5));
    </script>
    <script>
        //创建对象的三种方式
        //1.字面量创建
        var obj = {   //字面量对象方法
            name: 'jooo',
            age: 15,
            hello: function () {
                console.log('hello');
            }
        };

        //2.工厂模式创建对象
        function createStudent(name, age, sex) {
            var Student = new Object();
            Student.name = name;
            Student.age  = age;
            Student.sex  = sex;
            Student.sayHello = function () {
                console.log("hello, 我是工厂模式创建的对象中的方法");
            }
            return Student;
        }
        var student2 = createStudent('小红', 19, 'female');

        //3. 利用构造函数创建对象
         function createStudent(name, age, sex) {
             var Student = new Object();
             Student.name = name;
             Student.age = age;
             Student.sex = sex;
             Student.sayHello = function () {
                 console.log("hello, 我是工厂模式创建的对象中的方法");
             }
         }
         var st = new createStudent('jo',44,'female');
         //或者
        var person1 = new Object({
          name : 'Chris',
          age : 38,
          greeting : function() {
            alert('Hi! I\'m ' + this.name + '.');
          }
        });
        //4. 使用 create 方式,person1 是一个对象
        var person2 = Object.create(person1);
    </script>

 

posted on 2020-11-13 15:06  zzzzy09  阅读(132)  评论(0)    收藏  举报