這個(gè)變量屬于誰? var name= 張三 ; var age = 18; var..."/>
您好,登錄后才能下訂單哦!
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
面向?qū)ο?--初識(shí)對(duì)象
</title>
<script type="text/javascript">
/*
*表達(dá)一個(gè)人的完整信息
*/
/*第一種,三個(gè)變量之間沒有必然的聯(lián)系----->這個(gè)變量屬于誰?
var name="張三";
var age = 18;
var marry=true;
alert("姓名:"+name+":年齡"+age+":"+marry);
*/
/*第二種:創(chuàng)建對(duì)象的方式
function Person(){
}
var p1 = new Person();
p1.name="張三";
p1.age = 18;
p1.marry= true;
var p2 = new Person();
alert(p2.name);
alert(p1.name+":"+p1.age+":"+p1.marry);
*/
/*
1:類的定義
語法:(建議首字母大小)
function Person(){
}
在js中,沒有類的定義語句(class),只有function,每一個(gè)function,我們可以認(rèn)為它是同名的構(gòu)造函數(shù)
function Person---------->它是Person類的構(gòu)造函數(shù)
》》也可以叫做構(gòu)造器。
*/
/*
2:聲明對(duì)象(類的實(shí)例化)
var 對(duì)象 = new 類名(參數(shù)1,參數(shù)2...);--------->java中 類名 對(duì)象名 = new 類名();
var p1 = new Person(); ------------------->Person p1 = new Person();
new------->開辟相應(yīng)內(nèi)存空間???????
細(xì)節(jié)一:
function Person(){
alert("Hello world");--------------->實(shí)例化時(shí),它將被執(zhí)行。
}
var p1 = new Person();------------>在實(shí)例化時(shí),直接執(zhí)行了Person構(gòu)造函數(shù)。
*/
/*三:對(duì)象屬性的使用
語法:
對(duì)象.屬性
對(duì)象['屬性']
在js中,對(duì)象屬性是動(dòng)態(tài)添加的。--------------》java中屬性是在類內(nèi)部定義好的。
對(duì)象的屬性可以是任何數(shù)據(jù)類型,例:string number object;
*/
/*js中,一切皆對(duì)象。 ?_? java中,萬物皆對(duì)象。
數(shù)據(jù)類型是string,但實(shí)例化了String.
name 也是一個(gè)對(duì)象。
var name="張三";
重要:三個(gè)常用的關(guān)鍵字
1:constructor:返回的是對(duì)象的構(gòu)造器。
2:typeof: 返回?cái)?shù)據(jù)類型。
3:instanceof:判斷對(duì)象是否是某個(gè)類的實(shí)例。
例:
function Person(){
alert("Hello world");
}
var p1 = new Person();
console.log(p1.constructor);
console.log(typeof(p1));
console.log(p1 instanceof Person);
*/
/*四 js:對(duì)象在內(nèi)存中的存在形式
棧:小 運(yùn)算速度快。(相對(duì)于計(jì)算機(jī)而言) 對(duì)象的地址。
堆:大 運(yùn)算速度慢。 具體的對(duì)象(屬性,函數(shù)等)。
》》》》普通的數(shù)據(jù)類型的值是存儲(chǔ)在棧中(string,number等)。
//儲(chǔ)存的是對(duì)象的【地址】。
function Person(){
}
var p1 = new Person();
p1.name="張三";
p1.age = 18;
p1.marry= true;
var p2 = p1; p1把對(duì)象的地址賦值給了p2,指向同一個(gè)堆內(nèi)存中的對(duì)象
p2.name="李四";
console.log(p1.name);
表示釋放p2所占的??臻g,不會(huì)影響到p1---->它只是在棧中操作,沒有影響到堆。
p2=null;
alert(p1.name);
*/
</script>
</head>
<body>
</body>
</html>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。