1、將歌曲管理的curd方法放到原型中
2、在建構函式中,我們只有乙個屬性是songlist,因為**庫不是共有的,如果將songlist放入原型中,任何乙個人的一次修改songlist,都將把songlist改變,下乙個人new出來的songlist就會不一樣
3、將crud方法放入原型中,好處很多,避免浪費命名汙染,避免不必要記憶體浪費
4、注意當前物件的方法,在呼叫當前物件的其他方法需要使用this,這個this指代的是當前物件
<script
>
function
songmanager()
//在當前物件的方法中,呼叫當前物件的其他方法,需要使用this
//例如 在 removesong方法中呼叫 selectsong this.selectsong
songmanager.prototype =,
addsong:
function
(song),
removesong:
function
(songname)
varindex
=this
.songlist.indexof(song);
this
.songlist.splice(index, 1);
},updatesong:
function
(songname, singer)
song.singer
=singer;
},selectsong:
function
(songname)
}return
null
; }
};varpwbdemanager
=new
songmanager();
pwbdemanager.init([
,]);
pwbdemanager.addsong()
vargjbdemanager
=new
songmanager();
gjbdemanager.init([
,]);
"李白");
gjbdemanager.removesong(
"兩隻老虎");
console.log(pwbdemanager.songlist);
console.log(gjbdemanager.songlist);
script
>
js 高階回顧js
1 js高階 什麼是面向過程的程式設計?比如輪播圖 我們第一件事情幹嘛 第二件事情幹嘛。什麼是物件導向的程式設計?比如輪播圖 先是分析裡面有哪些物件,再是分析如何實現物件的功能 成員 什麼是面向函式的程式設計?功能封裝,函式重複呼叫。要從面向過程的思路轉換成物件導向的程式設計 比較難的過程 2 js...
js 高階知識
1 caller 表示呼叫該函式的函式 function fun1 function fun2 fun2 11,22 11 2 function foo var foo new foo var p foo.prototype foo.prototype alert foo.constructor a...
js 高階知識
1 開啟乙個視窗就會有乙個window物件 如頁面上的iframe window中包含document,document主要是來操作dom元素的 頁面上的標籤元素 2 我們在頁面上宣告乙個全域性變數其實是宣告在window物件上的,eg var abc jy alert window.abc ale...