浅谈JavaScript对象

  学过JavaScript基础部分后,接下来我们要接触和了解的就是JavaScript高级,这也是JavaScript中最重要的部分。为何说它重要?因为在大厂的面试中手写JavaScript是不可避免的,甚至会问一些关于JavaScript高级的知识点。要想真正搞懂这个东西我们必须从基础部分下手,首先就是JavaScript对象。

什么是对象?

  学习了这么多基础内容,那到底什么是对象呢?简单来说,对象就是带有属性和方法的特殊数据类型。例如:String、Date、Array…这些其实就是JavaScript内置的对象.

对象的属性:

  知道什么是对象后,我们来看一下对象的属性。简单来说,对象的属性就是对象相关的值。

var message=“hello World!”;
console.log(message.length); //12

  执行上述代码后,控制台打印的值为12。我们会发现此处调用了String对象的length属性输出字符串的长度。调用属性的语法:

objectName.propertyName或者objectName[“propertyName”]

对象的方法:

  通俗地讲,方法是能够在对象上执行的动作。

var message=“Hello world!”;
console.log(message.toUpperCase()); //HELLO WORLD!

  执行上述代码后,控制台打印的值为==“HELLO WORLD!”==。我们会发现此处调用了String对象的toUpperCase方法输出将字符串中的字母全部变为大写。
创建方法的语法:

var methodName=function(){code}

调用方法的语法:

objectName.methodName()

如何创建对象?

  重点来了,说了那么多关于对象的东西,那到底怎么创建对象呢?我们一起来看下。
  简单来说,创建函数就两种方式:

  • 使用var方法创建对象的实例。
      在 JavaScript 中,几乎所有的对象都是 Object 类型的实例,它们都会从 Object.prototype (原型)继承属性和方法。
       1. 先创建一个空对象后,添加对象属性和方法(Object给定的值为null或者undefined,会返回一个空对象)

var obj1={}; 等同于 var obj1=new Object();
obj1.name=“值是null”;

   2. Object给定的值为一个基本类型的值,则会构造其包装类型的对象。

var obj2=new Object(true); 等同于 var obj2= new Boolean(true);

   3. 直接创建对象(JavaScript 对象就是一个 name:value 集合

var obj3={name:“小张”};

  • 使用工厂方式(函数构造器)创建对象
       1. 先创建一个空的构造函数后,添加对象属性和方法

function Obj4(){};
var obj4=new Obj4();
obj4.name=“使用函数构造器方法一”;

   2. 直接通过构造函数创建对象并添加对象属性

function Obj5(name){this.name=name;}
var obj5=new Obj5(“使用函数构造器方法二”);

  • 使用原型创建对象

   1. 使用静态原型方法(函数原型中添加属性)

function Obj6(){};
Obj6.prototype.name=“原型创建对象方法一”;
var obj6=new Obj6();

   2. 使用混合原型方法(函数中添加name属性,函数原型中添加方法)

function Obj7(name){this.name=name};
Obj7.prototype.say=function(){
alert(this.name);
}
var obj7=new Obj7(“原型创建对象方法二”);

   3. 使用动态原型方法(函数中添加name属性,加判断条件,此例子条件为函数中的方法是否定义,若没定义则在原型中添加方法,否则方法=ture)

function Obj8(name){
this.name=name;
if(typeof Obj8.say==“undefined”){
Obj8.prototype.say=function(){
console.log(this.name);
}
Obj8.say=true;
}
}
var obj8 =new Obj8(“原型创建对象方法三”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值