1. 對(duì)象詳解 2. 字符串詳解3. 數(shù)組詳解
1.對(duì)象的創(chuàng)建:
(1)使用構(gòu)造函數(shù)創(chuàng)建內(nèi)置對(duì)象:eg:var myObject=new Object();
(2)直接創(chuàng)建自定義對(duì)象 eg:var 對(duì)象名={屬性名1:屬性值,屬性名2:屬性值}
1. 字面量對(duì)象:{}字面量對(duì)象,不放任何屬性和方法节仿,則稱為空對(duì)象
注:對(duì)象包含屬性和方法(對(duì)象中方法對(duì)應(yīng)的類型是一個(gè)函數(shù)). 屬性名稱中如果包含-,空格等非法字符時(shí),需要使用雙引號(hào)或單引號(hào)包裹菠齿。訪問時(shí)請(qǐng)使用[]
如何給創(chuàng)建好的對(duì)象添加一個(gè)新的屬性或方法?
// 1. 回到對(duì)象創(chuàng)建的位置補(bǔ)充鞭铆。 // 2. 直接擴(kuò)展(今天講的是簡(jiǎn)單的擴(kuò)展岭洲,以后會(huì)使用繼承去擴(kuò)展)
2. 構(gòu)造函數(shù):(定義的是一類對(duì)象)中的f方法不建議放在定義對(duì)象的里面(會(huì)占用內(nèi)存的存儲(chǔ)空間),應(yīng)該把對(duì)象發(fā)到原型鏈上.
原型鏈:對(duì)象可以找到父對(duì)象,父對(duì)象也可以向上找,一直找到object對(duì)象,就會(huì)形成一條鏈(prototype).注:使用前要實(shí)例比,產(chǎn)生一個(gè)個(gè)體,再使用個(gè)體
對(duì)象的訪問:person.name ;? person["name"]
3.1布爾對(duì)象:
如果參數(shù)為0、null.NaN.false.空字符串或undefined,都將轉(zhuǎn)為? false;除了以上的情況之外取刃,全部轉(zhuǎn)為true,包括字符串“false";
3.2日期對(duì)象:new Date(年,月,日,時(shí),分,秒)
getDate0??//返回日期對(duì)象中的一個(gè)月中的第幾天getDay0??//返回星期中的某一天吧彪,0~6
getHours()??//返回日期對(duì)象中的小時(shí)部分
getMinutes()??//返回日期對(duì)象中的分鐘部分
getSeconds()??//返回日期對(duì)象中的秒鐘部分
getMilliseconds() //返回E3期對(duì)象中的毫利部分
getTime( ) //返回日期對(duì)象中的時(shí)間戳的毫秒數(shù)
getTimezoneOffset()?//返回日期對(duì)象中的時(shí)區(qū)的時(shí)差數(shù)待侵。單位是分.
3.3數(shù)學(xué)對(duì)象:
Math.abs?() :??//絕對(duì)值
Math.ceil():??//進(jìn)一取整
Math.floor():??/退一取整
Math.max(num1./num...):??//取最大值
Math.min():??//取最 小值
Math.pow(x,y):??//返回x的y次冪
Math.random():??//0.0~?1.0之間的隨機(jī)數(shù),包括0不包括1
Math.round():??//四舍五入
Math.sqrt():??//平方根
3.4字符串對(duì)象:eg: var str=new String("abc")
indexOf("abc") //返回子字符串a(chǎn)bc在字符串中第一次出現(xiàn)的位置;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? lastIndexOf("abc") //返回子字符串a(chǎn)bc在字符串中最后一次出現(xiàn)位置;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?match(regexp) //找到一個(gè)或多個(gè)正則表達(dá)式的匹配;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?replace(表達(dá)式,替換的字符串) //替換一個(gè)與正則表達(dá)式相匹配的子串 ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?search(regexp) //查找與正則表達(dá)式相匹配的子字符串;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? split(正則表達(dá)式姨裸,數(shù)組最大長(zhǎng)度) //用于把一個(gè)字符串分割成字符串的數(shù)組;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? slice(startindex,endindex)? //1返回一個(gè)子字符串;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? substr(startindex,length? //返回一個(gè)子字符串;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? substring(startindex,endn1返回一個(gè)子字符串;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? toLowerCase(?) //將字符串轉(zhuǎn)換為小寫;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? toUpperCase(?)? //將字符串轉(zhuǎn)換為大寫;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?charAt(0);??/返回指定索引|字符字符串對(duì)象擁有的屬性;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?le?ngth??/字符串的長(zhǎng)度
2.對(duì)象的屬性創(chuàng)建:
1. {name:"dsh"}
2. person.name = "dsh"
3. person["name"] = "dsh";
4. Object.defineProperty(person, "name",{
? ? configurable:true | false,
? ? enumerable:true | false,
? ? value:任意類型的值,
? ? writable:true | false
});
3.對(duì)象的方法創(chuàng)建:
1. {sayHello:function(){}}
2. person.sayHello = function(){}
3. Person.prototype.sleep =? function(){}
4.刪除屬性:
delete p.name;
5.對(duì)象常用方法:
Object.create()//方法使用,可以用來創(chuàng)建對(duì)象
Object.defineProperty()//定義屬性
Object.defineProperties(obj, props)// 一次擴(kuò)展多個(gè)屬性
Object.assign(target,...sources)用來擴(kuò)展對(duì)象秧倾,第一個(gè)參數(shù)是待擴(kuò)展的對(duì)象,第一個(gè)以后參數(shù)是擴(kuò)展的源對(duì)象
Object.isFrozen()// 判斷一個(gè)對(duì)象是否凍結(jié),?凍結(jié)后不能刪除
Object.isSealed() // 判斷對(duì)象是否密封,不能再給對(duì)象擴(kuò)展屬性和方法啦扬。
Object.isExtensible()// 是否可擴(kuò)展, // 返回給定對(duì)象自身可枚舉屬性的[key, value]數(shù)組中狂。// 特別注意:低版本的Chrome等瀏覽器無法解析entries()
Object.entries(obj)
Object.keys(obj)
p.hasOwnProperty()//判斷一個(gè)屬性是否是對(duì)象的自有屬性
p.toString()
對(duì)象和JSON格式的字符串互轉(zhuǎn):
JSON.stringify(obj) // 把對(duì)象轉(zhuǎn)換成JSON格式的字符串。
JSON.parse(str) // 把JSON格式的字符串轉(zhuǎn)換成JSON對(duì)象
了解一下基本的概念:
常用數(shù)據(jù)交換格式:xml, JSON
xml:英文全稱:eXtensible Markup Language扑毡,是可擴(kuò)展的標(biāo)記語言胃榕,和HTML語言一樣,也有語法規(guī)則瞄摊,它常被當(dāng)成數(shù)據(jù)交換格式用于webservice服務(wù)中勋又。
JSON:英文全稱:JavaScript Simple Object Notation,是一種簡(jiǎn)單的换帜、輕量的數(shù)據(jù)交換格式楔壤。它比xml這種數(shù)據(jù)交換格式更簡(jiǎn)單,更輕量惯驼。
webservice:也稱web服務(wù)蹲嚣,是接口的提供者,它提供了接口供其他項(xiàng)目訪問祟牲,以達(dá)到項(xiàng)目架構(gòu)分離的目的隙畜。
可以簡(jiǎn)單理解它是生產(chǎn)接口的地方。我們前端在和服務(wù)器端人員配合開發(fā)時(shí)说贝,服務(wù)器端人員會(huì)
先開發(fā)好接口(接口可以使用webservice這種技術(shù)開發(fā)议惰,也可以直接返回JSON格式),然后暴露接口給我們乡恕,我們得到一個(gè)接口的地址
以及接口的參數(shù)文檔言询,然后通過AJAX技術(shù)(后面會(huì)講)從接口中訪問數(shù)據(jù),顯示到HTML文檔上傲宜。