基本包裝型別和自定義物件

2021-08-10 19:27:45 字數 2188 閱讀 9768

再講之前,先給大家普及一下js中的資料型別

總共分為兩種:

1.number 2.string 3.boolean 4.null 5.undefined

1.object 2.function 3.array 4.date 5.regexp

介紹完了,接下來就來說說基本型別的包裝:

主要有number,string還有boolean,

但一般number和boolean使用的比較少,歧義較多,因此也不推薦

使用,下面舉個例子介紹string型別的基本包裝:

var str = "abc";

var index = str.indexof(b);

console.log(index);//輸出1

/*不知道這裡大家有沒有疑問,str明明不是string型別嗎,string不是

物件,怎麼能呼叫indexof()方法呢!!!

其實,這裡就涉及到js中的基本包裝型別了:

*/

基本包裝型別的步驟:

1.建立乙個臨時變數

2.使用這個臨時變數去呼叫方法

3.使用完立馬銷毀

//當上面的str呼叫indexof()方法的時候,js隱式執行了如下操作:

var temp = new

string();

temp.indexof();

//可以看到str被隱式轉換為了string物件,因此也就可以呼叫方法了.

//boolean,number包裝的方法和string一樣,我就不一一寫了

自定義物件有兩種寫法:

function phone(brand,price,color,tag)

}var phone = new phone("蘋果x",10000,"黑色","裝逼佬");

phone.call();

//這裡使用了new + 建構函式的方式建立了乙個phone的物件並賦給了

//phone,因此phone就能呼叫裡面的call方法了。

// 使用建構函式的方式,適用於批量的建立物件

// 我只想要乙個物件就可以,不需要寫建構函式,太麻煩了

// 因此使用物件字面量的方式

new在建立物件的時候做了四件事:

1.建立了乙個空物件,

2.將關鍵字this指向了這個物件

3.執行裡面**,給當前建立的物件賦值

4.返回這個物件

var o = {};//就是使用物件字面量的方式建立了乙個空物件

o.name = "張三"

;o.age = 20

;o.*** = "男"

;o.sayhello =function ()

var o =

}

訪問物件的兩種方式

/*

訪問物件屬性的第一種方式:通過點的方式

物件.屬性

*/console.log(o.name);

console.log(o.age);

console.log(o.***);

console.log(o.sayhello);

/* 第二種:通過鍵的方式

物件[屬性對應的名稱字串]

*/console.log(o["name"]);

console.log(o["***"]);

console.log(o["age"]);

console.log(o["sayhello"]);

刪除物件的屬性:

//delete  關鍵字  --  刪除的意思

//在js中delete關鍵字是用來刪除物件的某個屬性的

//例如:

var obj = {};

obj.name = 「李狗蛋」;

delete obj.name;

物件型別陣列 自定義排序

我們可以對任何物件型別的陣列排序,比如,物件person有名字和年齡屬性,我們希望根據年齡排序,那麼我們可以這麼寫 const friends function compareperson property if a property b property return 0 console.log ...

自定義型別

typedef型別 typedef 已有型別 新建型別 示例 typedef double area,volume typedef int number number i1 area a enum enum 列舉型別名 enum week 預設sun 0,可以比較 如果修改必須形如enum week...

自定義型別

下面列舉幾種c語言中常用的自定義資料型別 1.結構體型別 當描述乙個整型變數時,可以用int,描述字元型變數時,可以用char,但要描述乙個學生時,因為這個學生包含的資訊很多,比如姓名,性別,年齡等,不能通過單一的型別來描述,所以,這裡引入結構體型別,將某個事物的共有屬性集合在一起,宣告乙個結構體型...