javaScript第七天(2)
javaScript基礎(chǔ)
? 對(duì)象其他部分 [理解]
-
自定義構(gòu)造函數(shù)創(chuàng)建對(duì)象[掌握]
//繼續(xù)簡(jiǎn)化 自定義構(gòu)造函數(shù) function People(uName, uAge) {this.uName = uName;this.uAge = uAge; } // 如何通過(guò)自定義構(gòu)造函數(shù)創(chuàng)建對(duì)象? var zs = new People('張三', 20); console.log(zs);- 注意事項(xiàng):
- 自定義構(gòu)造函數(shù)的命名規(guī)則要遵守帕斯卡命名法(單詞的首字母大寫)
this關(guān)鍵字
this 關(guān)鍵字到底指的是誰(shuí)? 口訣: 誰(shuí)調(diào)用函數(shù)(構(gòu)造函數(shù)), this 就指向誰(shuí)(就是誰(shuí))普通函數(shù)中的 this 關(guān)鍵字指向的就是 window對(duì)象 function fn() {console.log(this); } window.fn(); // 因?yàn)槲覀兤綍r(shí)調(diào)用函數(shù)時(shí)候, window對(duì)象省略在對(duì)象的方法中 this 關(guān)鍵字指向的就是 當(dāng)前這個(gè)對(duì)象 var obj = {//方法eat:function() {console.log(this); // 指向的是當(dāng)前對(duì)象} }obj.eat();new關(guān)鍵字執(zhí)行過(guò)程
遍歷對(duì)象[掌握]
語(yǔ)法: for(鍵 in 對(duì)象) {對(duì)象[鍵]; }例如:var obj = {uname: 'asd',age : 34,uheight: 180,color: 'red',weight: 70}// key 是一個(gè)變量, 這個(gè)變量中保存的就是 obj 對(duì)象中的所有屬性for(key in obj) {//獲取對(duì)象的值console.log('屬性名:' +key + '對(duì)應(yīng)的值:' + obj[key]);}instanceof關(guān)鍵字[以了解為主]
instanceof : 判斷當(dāng)前對(duì)象 是否是 某個(gè)構(gòu)造函數(shù)創(chuàng)建的 (判斷孩子是不是某個(gè)人的骨肉) typeof : 獲取數(shù)據(jù)類型-
簡(jiǎn)單數(shù)據(jù)類型在內(nèi)存中的存儲(chǔ)方式
簡(jiǎn)單數(shù)據(jù)類型,在內(nèi)存的棧上保存的, 棧區(qū)中保存的就是變量的一個(gè)具體的值 -
復(fù)雜數(shù)據(jù)類型在內(nèi)存中的存儲(chǔ)方式
復(fù)雜數(shù)據(jù)類型(對(duì)象), 在內(nèi)存的堆上保存的, 復(fù)雜數(shù)據(jù)類型在內(nèi)存中保存的是一個(gè)地址
1. 知識(shí)點(diǎn)-內(nèi)置對(duì)象
-
為什么要學(xué)內(nèi)置對(duì)象?
內(nèi)置對(duì)象中已經(jīng)幫助我們是實(shí)現(xiàn)相關(guān)的方法(數(shù)學(xué), 時(shí)間 ....), 提高代碼效率 -
什么是內(nèi)置對(duì)象?
內(nèi)置對(duì)象: js中本身已經(jīng)具有的對(duì)象, 不需要我們手動(dòng)創(chuàng)建,直接調(diào)用. -
內(nèi)置對(duì)象要學(xué)什么?怎么學(xué)?
? 各種方法 ? 屬性 學(xué)習(xí)的方式: 通過(guò)查詢手冊(cè)實(shí)現(xiàn) 手冊(cè)地址: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
2. 知識(shí)點(diǎn)-內(nèi)置對(duì)象Math
-
Math內(nèi)置對(duì)象
提供了與數(shù)學(xué)操作相關(guān)的方法和屬性-
屬性: Math.PI 獲取圓周率
獲取圓周率 -
方法:
-
求一個(gè)數(shù)字的冪數(shù)(幾次方)
Math.pow(x, y) -
獲取一組數(shù)字的最大值
Math.max() -
獲取一組數(shù)字中的最小值
Math.min(); -
求一個(gè)數(shù)字的絕對(duì)值
Math.abs(); -
求一個(gè)數(shù)字的四舍五入運(yùn)算
Math.round()注意一點(diǎn): 該方法返回的是一個(gè)整數(shù) -
隨機(jī)數(shù)
Math.random() 大于等于 0 小于 1 -
Math.floor()
-
Math.ceil()
-
-
3. 知識(shí)點(diǎn)-內(nèi)置對(duì)象數(shù)組
-
數(shù)組難到也是對(duì)象?數(shù)組也是內(nèi)置對(duì)象?
var ary = new Array(); -
數(shù)組添加值 push() unshift()
-
push() 方法
通過(guò) push()方法可以向數(shù)組中同時(shí)添加一個(gè)或者多個(gè)值,添加到數(shù)組的末尾 -
unshift()方法
通過(guò) unshift()方法可以向數(shù)組中同時(shí)添加一個(gè)或者多個(gè)值, 添加到數(shù)組的開始位置 -
刪除(取值)數(shù)組中的值 pop() shift()
-
pop()方法
pop() 方法從數(shù)組中刪除某個(gè)值, 從數(shù)組中從后向前刪除, 返回值就是刪除的值 -
shift()方法
shift() 方法將數(shù)組中某個(gè)值刪除, 從數(shù)組的開始位置向后刪除,返回的結(jié)果也是刪除的值 -
翻轉(zhuǎn)數(shù)組 reverse()
reverse() 翻轉(zhuǎn)數(shù)組, 返回值就是翻轉(zhuǎn)后的數(shù)組 -
join()
將數(shù)組中的值以一個(gè)分割符拼接成一個(gè)字符串, 返回的結(jié)果就是一個(gè)字符串 -
indexOf()、lastIndexOf()
-
indexOf()方法
indexOf() 從數(shù)組中查找值對(duì)應(yīng)的索引位置, 如果找到這個(gè)值,那么就返回值對(duì)應(yīng)的索引位置, 如果沒(méi)有找到,返回的結(jié)果就是 -1indexOf()可以設(shè)置第二個(gè)參數(shù), 第二個(gè)參數(shù)可以設(shè)置也可以不用設(shè)置,代表的意思從哪開始找, 如果找到則返回對(duì)應(yīng)的索引,否則返回-1 -
lastIndexOf() 方法
lastIndexOf() 從數(shù)組中查找值對(duì)應(yīng)的索引位置lastIndexOf()也可以設(shè)置第二個(gè)參數(shù), 二個(gè)參數(shù)的作用與indexOf()中第二參數(shù)的作用一樣. -
區(qū)別
- indexOf() 從數(shù)組的前 向 后 找
- lastIndexOf() 從數(shù)組的后向前找
-
補(bǔ)充: 判斷一個(gè)值是不是數(shù)組 Array.isArray(obj)
4. 知識(shí)點(diǎn)-內(nèi)置對(duì)象字符串
-
字符串特性:
不可變特性, 字符串在內(nèi)存中的位置空間. 在程序中大量拼接字符串會(huì)有什么問(wèn)題? ---> 浪費(fèi)內(nèi)存 (由于字符串不可變特性) -
獲取指定位置處的字符
charAt(索引值) 注意: 字符串中的索引位置從 0 開始 -
截取字符串 [重點(diǎn)]
? slice(startIndex[, end])// slice()// console.log(str.slice(6));// slice(starindex);//參數(shù)starindex代表從字符串中哪個(gè)位置開始截取,默認(rèn)是到字符串的結(jié)尾處// console.log(str.slice(6, 8));// slice(startindex, endindex)// 參數(shù): startindex 從哪開始截取// 參數(shù): endindex 截取字符串到哪結(jié)束[不包括這個(gè)值]? substring(startIndex[,end]); //substring()截取字符方法與slice方法一樣? substr(startIndex[, length])// substr(startindex, length)// 參數(shù): startindex 代表從字符串的哪個(gè)位置開始截取, 默認(rèn)到字符串的結(jié)束位置 // 參數(shù): length 代表的是要從字符串中一共截取多少個(gè) -
拼接字符串
concat() ====> 將字符串拼接到一塊, 返回一個(gè)新的字符串 -
替換
replace('targetElement', 'element') ====> 返回的結(jié)果也是字符串 -
去除空白
trim() ====> 將字符串的首尾空白去掉 -
indexOf(字符) lastIndexOf(字符)
indexOf(字符) : 都是用來(lái)獲取字符串中對(duì)應(yīng)字符的索引位置, 從左向右查找, 如果找到那么就直接返回對(duì)應(yīng)的索引位置, 如果沒(méi)有找到,那么就返回-1lastIndexOf(字符) : 都是用來(lái)獲取字符串中對(duì)應(yīng)字符的索引位置, 從后向前找, 如果找到那么就直接返回對(duì)應(yīng)的索引位置, 如果沒(méi)有找到,那么就返回-1備注: 1. indexOf(字符) 和 lastIndexOf(字符) 支持第二參數(shù)的設(shè)置,如何設(shè)置了第二個(gè)參數(shù),那么代表從指定的位置起,向后(向前)查找====> 將字符串的首尾空白去掉
-
indexOf(字符) lastIndexOf(字符)
indexOf(字符) : 都是用來(lái)獲取字符串中對(duì)應(yīng)字符的索引位置, 從左向右查找, 如果找到那么就直接返回對(duì)應(yīng)的索引位置, 如果沒(méi)有找到,那么就返回-1lastIndexOf(字符) : 都是用來(lái)獲取字符串中對(duì)應(yīng)字符的索引位置, 從后向前找, 如果找到那么就直接返回對(duì)應(yīng)的索引位置, 如果沒(méi)有找到,那么就返回-1備注: 1. indexOf(字符) 和 lastIndexOf(字符) 支持第二參數(shù)的設(shè)置,如何設(shè)置了第二個(gè)參數(shù),那么代表從指定的位置起,向后(向前)查找
總結(jié)
以上是生活随笔為你收集整理的javaScript第七天(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: javaScript第七天(1)
- 下一篇: js(Dom+Bom)第一天(1)