一、物件導向 oop: object oriented programming
物件,是一組無序的屬性集合
1.狹義物件:一般用花括號定義的 動態新增屬性,屬性也可以訪問(主要還 是狹義物件)
如何訪問物件屬性值 1.物件.屬性名 2.物件.屬性名[i]
2.廣義物件:window、date日期、math數學方法…
二、基本資料型別與引用資料型別
基本型別:number、null、undefined、string、boolean。
引用型別:物件可以通過大點方式新增屬性 ,但是基本型別不可以用
區別:1.是否可以新增、設定屬性
2.在jscript中基本資料型別不能新增屬性,也不能拿到屬性值。只有物件類 型可以
三、json與狹義物件的區別
json是一種資料格式 //json天生為了資料而生。前端從後台拿到的的資料就基本是接送格式
var p1
json的屬性必須加雙引號(不是單引號),json嚴格的jscript物件。
一般狹義物件是不加雙引號的,但是也有特殊,例如下面這個不加就不行了
(一些屬性名特殊那些,不符合命名規範的我們就要加雙引號,否則就報錯)。
var obj
四、物件中的方法
物件不僅可以儲存普通的值(靜態),還可以儲存函式(動態)
靜態資料:1.物件名.屬性名 2.物件名.屬性名[i]
動態資料:1.物件名.方法() === var a = 物件.方法 (後面這個方法不能加括號()了)
這裡的方法也就是物件裡面的某乙個屬性
**五、函式上下文(重點難點)**主要就是下面5點
什麼叫函式上下文?說白了就是"this"代表什麼?
1.函式假如是圓括號執行,函式上下文就是window
var a = 100;
function fn(a,b,c,d,e,f)
fn(1,3,5,7,9,11);
//函式假如是圓括號執行,函式上下文就是window this就是window,所以a就是100
2.函式作為事件處理函式 ,函式上下文就是這個事件觸發的物件
function changecolor()
var divs = document.queryselectorall("div");
for(var i=0; i3.函式作為物件的方法,物件打點呼叫,那麼函式上下文就是這個物件
function say()
var obj =
// say(); //空 window.say沒有
obj.say(); //xzd 物件obj來呼叫 函式上下文就是這個物件
4.定時器函式上下文是window,定時器裡面和外面的this不一樣
var divs = document.queryselectorall("div");
for(var i=0; i < divs.length; i++) ,100);
}}
5.函式作為陣列元素,被索引出來執行,函式上下文就是這個陣列
function fn()
var arr = [fn,1,2,3,4];
arr[0](); //小括號前面是陣列,所以this就代表陣列
物件導向筆記
1 物件導向 物件導向程式設計總結為一句話 向物件傳送訊息。物件導向的程式模組由類構成。2 類 1 每個類都定義可乙個介面和乙個實現。介面 有該類地 需執行地操作組成。實現 包括該類所需要地資料。2 定義資料成員 不能把資料成員 像定義變數一樣 的初始化作為其定義地一部分,只能指定資料成員地名字和型...
物件導向筆記
建立物件 2.建構函式模式 function person name,age,job var person1 new person lllrrr 28 var person2 new person yyyccc 24 與工廠函式不同之處 1 沒有顯示式建立物件 2 直接將屬性方法給了this 3 沒...
物件導向筆記
面向過程 pop 與物件導向 oop 的區別 二者都是一種思想,物件導向是相對於面向過程而言的。面向過程,強調的是功能行為,以函式為最小單位,考慮怎麼做。物件導向,將功能封裝進物件,強調具備了功能的物件,以類 物件為最小單位,考慮誰來做。物件導向更加強調運用人類在日常的思維邏輯中採用的思想方法與原則...