JS自學筆記04

2021-08-27 20:47:59 字數 2176 閱讀 5521

arguments[索引]

實參的值

1、物件

1)建立物件

①呼叫系統的建構函式建立物件

var obj=new object();

//新增屬性。物件.名字=值;

obj.name="cc";

obj.age=18;

//新增方法

obj.eat=function();

//呼叫

obj.eat();

②自定義建構函式建立物件(結合第一種和需求通過工廠模式建立物件)

工程模式:

物件名 instanceof 物件名

根據物件是否屬於給定類 返回布林值

function

createobject

()return obj;

}//呼叫

var per1=createobject();

function

createobject

(name,age)

自定義建構函式建立物件做了4件事

1、記憶體中開闢空間,儲存建立的新的物件

2、把this設定為當前的物件

3、設定物件的屬性和方法的值

4、返回this物件

示意圖:

③字面量的方式建立物件

var obj={};//建立了空物件

var obj2={};

obj2.name="xx";

obj.say=function();//屬性和方法都是在類外新增的

var obj3=

}缺陷是:一次性的物件

js是一門解釋性,指令碼,弱型別,基於物件,動態型別的語言。

訪問屬性的另一種方法:

function person(name,age);

}//自定義類

var obj=new person("cc",20);

obj["name"]=xx;

//通過中括號取代點

成對出現,是鍵值對。無論是鍵還是值都用雙引號括起來

var json=;

//遍歷

可以通過for-in迴圈

for(var key in json)//key處變數不一定要取名為key,自定義即可

3、簡單型別和複雜型別

1)原始資料型別:number,string,boolean等

2)基本型別,簡單型別,值型別。在棧中儲存:number,string,boolean

3)複雜型別(引用型別):object

4)空型別:null,undefined

引用型別的值在棧和堆中儲存。物件在堆上儲存,位址在棧上儲存

4、值型別與引用型別的傳遞

var obj=;

function

f2(obj2)

f2(obj);

console.log(obj.name);//xx,因為obj與obj2所指向的位址都是相同的

值型別之間傳遞的是值,引用型別作為函式的引數,傳遞的是位址

因為第二條指令傳的是num1的值,var了兩個東西,位址不一樣。

5、內建物件

js系統自帶的物件

math,date,string,array

6、math物件

不是函式的物件

是靜態物件,不需要建立,自己就是乙個物件,方法(靜態方法)直接通過這個物件的名字呼叫。不能例項化物件。例項方法必須通過例項物件呼叫。

math.random();//隨機數生成,範圍是0~1

JS自學筆記04

arguments 索引 實參的值 1 物件 1 建立物件 呼叫系統的建構函式建立物件 var obj new object 新增屬性。物件.名字 值 obj.name cc obj.age 18 新增方法 obj.eat function 呼叫 obj.eat 自定義建構函式建立物件 結合第一種和...

python自學筆記04

python採用半開區間,計數從0開始 eg.str 3 5 獲取的是原字串第4和第5的位置。0,1,2,3,4 取3,4 拓展分片 分片可以有三個引數,第三個引數表示步長,正數表示從前開始,負數表示從後開始。連線和重複str one hello str two world str one str ...

JS自學筆記03

1 函式練習 如果函式所需引數為陣列,在宣告和定義時按照普通變數名書寫引數列表,在編寫函式體內容時體現其為乙個陣列即可,再傳參時可以直接將具體的陣列傳進去 即var max getarratmax 1,4,2,6,8,2,5 關於說明 函式的說明 param array引數為一陣列 解釋說明引數列表...