JavaScript學習記錄五

2021-08-28 03:37:22 字數 3131 閱讀 6062

程式設計思想:把一些生活中做事的經驗融入到程式中

* 面向過程:凡事都要親力親為,每件事的具體過程都要知道,注重的是過程

* 物件導向:根據需求找物件,所有的事都用物件來做,注重的是結果

** 物件導向特性:封裝,繼承,多型 (抽象性)

* js不是物件導向的語言,但是可以模擬物件導向的思想

* js是一門基於物件的語言:

* 萬物皆物件:---------->程式猿 程旭媛

** 什麼是物件?

* 看的見,摸得到,具體特指的某個東西

** 分析物件有什麼特點:特徵和行為

** 物件:有特徵和行為,具體特指的某乙個事物

** 物件:有屬性和方法,具體特指的某個事物

建立物件三種方式:

* 1.呼叫系統的建構函式建立物件

* var 變數名= new object(); object 是系統的建構函式  array

var obj = new object();

//物件有特徵---屬性和行為---方法

//新增屬性-----如何新增屬性? 物件.名字=值;

obj.name = "小蘇";

obj.age = 38;

obj.*** = "女";

//新增方法----如何新增方法? 物件.名字=函式;

obj.eat = function () ;

* 如何獲取該變數(物件)是不是屬於什麼型別的?

* 語法:

* 變數 instanceof 型別的名字----->布林型別,true就是這種型別,false不是這種型別

* 在當前的物件的方法中,可以使用this關鍵字代表當前的物件

//工廠模式建立物件

function createobject(name,age) ;

return obj;

}//建立人的物件

var per1 = createobject("小芳",20);

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

function person(name,age) ;

}//自定義建構函式建立物件:先自定義乙個建構函式,建立物件

var obj=new person("小明",10);

//自定義狗的建構函式,建立物件

function dog(name,age,***)

var dog=new dog("大黃",20,"男");

console.log(dog instanceof person);//false

* 1). 在記憶體中開闢(申請一塊空閒的空間)空間,儲存建立的新的物件

* 2). 把this設定為當前的物件

* 3). 設定物件的屬性和方法的值

* 4). 把this這個物件返回

* 3.字面量的方式建立物件

var obj={};

obj.name="小白";

obj.age=10;

obj.sayhi=function () ;

obj.sayhi();

var obj2=,

eat:function ()

};

設定和獲取屬性的另一種寫法

function person(name,age) ;

}var obj=new person("卡卡西",20);

"佐助";

obj["name"]="佐助";

console.log(obj["name"]);

obj.play();

obj["play"]();

物件:有屬性和方法,特指的某個事物

物件:一組無序屬性的集合的鍵值對,屬性的值,可以是任意的型別

json格式的資料:一般都是成對的,是鍵值對.

一般json格式的資料無論是鍵還是值都是用雙引號括起來的

var json = ;

for (var key in json)

簡單型別和複雜型別

//原始資料型別: number,string,boolean,undefined, null,object

//基本型別(簡單型別),值型別: number,string,boolean

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

//空型別:undefined,null

//值型別的值在哪一塊空間中儲存? 棧中儲存

//引用型別的值在哪一塊空間中儲存?物件在堆上儲存,位址在棧上儲存

//var num=10;//值型別,值在棧上

//var obj={};//複雜型別,物件在堆,位址(引用)在棧

//值型別之間傳遞,傳遞的是值

//引用型別之間傳遞,傳遞的是位址(引用)

//值型別作為函式的引數,傳遞的是值

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

內建物件

* js學習中三種物件:

* 1.內建物件----js系統自帶的物件

* 2.自定義物件---自己定義的建構函式建立的物件

* 3.瀏覽器物件---bom的時候講

** 內建物件:

* math

* date

* string

* array

* object

//如何驗證變數是不是物件

//    var obj={};

//    console.log(obj instanceof object);

math內建物件

//例項物件:通過建構函式建立出來,例項化的物件

//靜態物件:不需要建立,直接就是乙個物件,方法(靜態方法)直接通過這個物件名字呼叫,

//例項方法必須通過例項物件呼叫

//靜態方法必須通過大寫的物件呼叫

常數的底數

值)-----絕對值

值)----向上取整

值)---向下取整

注意://    console.log(math.abs(null));//---------0  重點

//    console.log(math.abs("string"));//nan

JavaScript學習記錄十

總結繫結事件的區別 addeventlistener attachevent 相同點 都可以為元素繫結事件 不同點 1.方法名不一樣 2.引數個數不一樣addeventlistener三個引數,attachevent兩個引數 3.addeventlistener 谷歌,火狐,ie11支援,ie8不支...

JavaScript學習記錄十二

scroll系列 元素的樣式屬性是無法直接通過 物件.style.屬性來獲取 樣式在style屬性中設定 offset系列 offsetleft 距離左邊位置的值 offsettop 距離上面位置的值 offsetwidth 元素的寬 有邊框 offsetheight 元素的高 有邊框 scroll...

Golang學習記錄 五

golang學習記錄 一 golang學習記錄 二 golang學習記錄 三 golang學習記錄 四 golang學習記錄 五 golang學習記錄 六 go 是乙個開源的程式語言,它能讓構造簡單 可靠且高效的軟體變得容易。go是從2007年末由robert griesemer,rob pike,...