JavaScript 对象

什么是对象

1.在现实世界中,任何(实体/所有的东西)都可叫对象,比如“人”可看作一个对象。
“人”具有姓名、性别、年龄、身高、体重等特征,“人”可以吃饭、可以开车、可以运动等动作(具有这些功能)。

一个杯子就是一个对象,杯子有什么特征:形状、用途、花纹。。。 杯子:装水;
圆、喝水、无   功能:装水。

2.简单的讲,对象就是一组属性与方法的集合,比如:“人”的属性(特征)有身高、体重,“人”的功能有吃饭、开车、睡觉等。

3.对象是一种复合数据类型,或者称为引用类型。

基本数据类型只能用于描述单个数据,而引用类型是一个可以描述多个数据的集合。

比如:
基本数据类型描述数据,每个变量只能描述某个事物的一个特征;
var name = ”老板”;
            var age = 18;
var height = 1.78;

引用数据类型,则具有描述事物的能力;
var user = new Object(); //创建一个对象来描述一个事物,或者一个事物在js中就是一个对象。

//以上对象描述的是一个人,那么我们就可以给这个对象添加一些车的属性(特征)
user.name = “赵菊儿”;
user.age = 18;
user.height = 1.80;

//当然对象应该拥有一些行为(方法、功能),比如:拥有一个自我介绍的方法。
user.display=function(){
console.log(“各位好!,我是”+this.name+”,今年”+this.age+”岁”);
};

对象:对象由属性和方法组成;
    属性:描述对象自身的特征;比如人的姓名,猪的体重;
方法:对象具有的行为和功能,比如人可以拥有一个“自我介绍”功能;

对象的分类

JavaScript(内置对象)内建对象

由JavaScript语言规范定义的一系列对象,这些对象提供了完成各种任务的方法,
比如Math对象,String对象,Date对象等
var date = new Date();//日期对象
console.log(date.getSeconds());
console.log(date.getHours());

自定义对象

自定义对象:由程序员创建描述特定事物的对象;
编程语言中,创建对象往往比现实生活中找对象来的快的多,你只需要通过new  类型()就ok了。
比如:var user = new Object(); //创建了一个对象
   user.name = “王花花”; // 为对象添加属性(特征)
                       user.sex = true; 
                       user.showInfo = function(){
//this指向user.  this==user;
console.log(“我是:”+this.name+“,是一个”+this.sex?”男人”:”女人”);
                       };
    
   		var myGirl = {  
  name:'小华', 
 age:18, 
height:2.8,
run:function(){
         alert('跑步走...');
 }
};

方法中的this

当一个函数作为对象的属性存在时,并且通过对象调用这个方法,那么函数中的this就指向调用函数的这个对象;

function sayName(){
console.log(this.name);
}

var ergou = {
name :”二狗”,
say:sayName
};
ergou.say();//二狗

var juer = {
name :”菊儿”,
say:sayName
};
juer.say();//菊儿

this指向对象的好处在于,可以更加方便的对象自身的内部成员。

基本类型与引用类型区别

1、基本类型和引用类型,都是数据类型;
2、数据的值都存储在内存中;
3、程序在运行时,会把内存划分不同区域,其中最重要的两个区域,是栈和堆。
4、栈中的值占用空间固定,而堆中是动态分配的内存;
5、所有的变量都存储在栈
6、基本数据类型的值直接存储在栈中,而引用类型的值存储在堆中,变量只是一个指向堆内存的地址引用。

String对象

什么是字符串对象

JS中字符串可以是基本数据类型,也可以是引用数据类型,具体是哪一种根据我们创建的方式而定;

var s1  = “aaa” ; //基本数据类型

var s2  = new String(“bbb”) //引用数据类型 

var  str1 = “abcd”; //简单常用的定义形式
var  str2 = ‘abcd’;
var  str3 = new String(“abcd”); //标准定义形成
var  str4 = new String(‘abcd’);

以上都是字符串,只是不同的数据类型而已,及存储的位置也不同。

注意点:JS中基本数据类型(存储字符串值的能力)与JS引用数据类型(存储字符串值、长度、方法(功能))虽然从类型的角度来讲,他们的确不同,但是使用的时候其实差异不大简单理解:就是说JS中的基本数据类型可以当成对应的引用类型来使用,后面章节中会有直观体会;

为什么使用字符串对象

因为在JavaScript中为字符串对象提供了很多现成对字符串处理的方法和属性,借助于现有的方法和属性可以对对象中的字符串进行处理. 我们在工作中遇到的数据最多也是字符串类型的数据.

字符串的属性和方法

JavaScript为字符串对象定义了很多方法和属性,通过对象可以直接是调用方法和数据对自身的字符串进行处理.

语法:

字符串对象.属性

字符串对象.方法名()

属性length

length属性字符串对象字符串长度;

 stringObject.charAt(index)

index

必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

返回在指定位置的字符。

注意:字符串中第一个字符的下标是0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。

 stringObject.indexOf(searchvalue,fromindex)

searchvalue

必需。规定需检索的字符串值。

fromindex

可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

方法可返回某个指定的字符串值在字符串中首次出现的位置。

注释:indexOf() 方法对大小写敏感!

注释:如果要检索的字符串值没有出现,则该方法返回 -1。

 stringObject.lastIndexOf(searchvalue,fromindex)

searchvalue

必需。规定需检索的字符串值。

fromindex

可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。

返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

 stringObject.replace(substr,replacement)

substr

必需。需要被替换的字符串值. 

replacement

必需。替换后的字符串值。

字符串中用一些字符替换另一些字符.

默认情况下使用replacement替换找到的第一个substr的值. 如果需要全部替换需要加上全局标志 

 stringObject.substr(start,length)

start

必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length

可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

可在字符串中抽取从 start 下标开始的指定数目的字符。

 stringObject.substring(start,stop) 

start

必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop

可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。

用于提取字符串中介于两个指定下标之间的字符。

stringObject.toLowerCase() 

把字符串转换为小写。

 stringObject.toUpperCase()

把字符串转换为大写。

 stringObject.charCodeAt()

返回在指定的位置的字符的 Unicode 编码。

var s = “我爱你”;

console.log(s.charCodeAt(1));//获取“爱”的unicode编码。

String.fromCharCode()

可接受一个指定的 Unicode 值,然后返回一个字符串。

var s = String.fromCharCode(97,98,99);

console.log(s);

特殊字符

你可以在 JavaScript 中使用反斜杠来向文本字符串添加特殊字符。

代码

输出

\'

单引号

\"

双引号

\&

和号

\\

反斜杠

\n

换行符

\r

回车符

\t

制表符

\b

退格符

\f

换页符

以上特殊的字符串是不能够单独存在在字符串中,需要通过\来转义.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时小浅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值