Javascript是一門函數式編程語言,Javascript當中函數是核心,在Javascript中函數也是對象,函數對象在創建的時候會被添加屬性和方法。
在Javascript中函數對象有兩種調用方式,一種是new關鍵字的調用,另一種是沒有new關鍵字的調用,前者會返回一個對象,后者會返回return語句中的內容。
function Obj (name) { this.name = name; return name;}用new關鍵字來調用如下:
var obj = new Obj('張三') // 返回 { 'name': '張三' }不用new關鍵字調用如下:
var obj = Obj('張三') // 返回 '張三'說完了js當中的對象和調用方式,那讓我們來理解下什么是對象。
什么是對象?
對象是類的一個實例(對象可不是女朋友),有狀態和行為。例如:一個電腦就是一個對象,它的狀態有:大小、顏色、品牌等,他的行為有:播視頻、聽音樂、聊天等。
而類是對象的抽象,可以理解為類是一個模板,它來描述一類對象的狀態和行為。軟件對象也有狀態和行為,軟件對象的狀態就是屬性,行為就是方法。在軟件開發中,在方法中可以操作對象的內部狀態,對象的相互調用也是通過方法來完成。
類既然可以理解為一個模板,我們通過一個Person的簡單例子來理解下:
function Person (name, age, sex) { this.name = name; this.age = age; this.sex = sex; run = function () { console.log('Run') }}在這個類中name,age,sex為這個類的屬性,而run為這個類的方法;Person的職責是構造對象,進行對象的初始化。
接下來我們看下在js中如何聲明并調用對象。
對象的創建(多種方法)
塊級對象
var person = { name: '王小端coder', age: 29}console.log(person.name); // 王小端coder構造函數 --- 系統自帶
var obj = new Object();obj.name = '王小端coder'console.log(obj.name); // 王小端coder
系統自帶的對象有:Object、Array、Number、Boolean、Date等
構造函數 --- 自定義
function Obj (name) { this.name = name;}var obj = new Obj('王小端coder');console.log(obj.name); // 王小端coder對象的增刪改查
增:為對象添加一個屬性
var person = {};person.name = '王小端coder';console.log(person.name);刪:通過delete操作符刪除一個對象的屬性
var person = { name: '王小端coder'};console.log(person.name); // 王小端coderdelete person.name;console.log(person.name); // undefined改:直接通過賦值來修改一個對象的屬性
var person = { name: '王小端coder'};console.log(person.name); // 王小端coderperson.name = '王小端JS'console.log(person.name); // 王小端JS
新聞熱點
疑難解答
圖片精選